每当我试图复制4个文件到我的bin文件夹,停止主服务后,我得到一个文件(TexteDll)错误。错误是:

Cannot copy TexteDll: The requested operation cannot be performed on a file 
with a user-mapped section open

这可能是由于一些系统锁定。或者另一个进程正在使用这个DLL。当我在谷歌上搜索时,我发现重新启动系统可以解决这个问题。

有人能给出原因或者解决办法吗?我检查了TexteDll的属性(通用、版本、安全性等)。一切都很正常。


当前回答

我的解决方案是关闭所有VS实例,并杀死任何挂起的devenv.exe进程。

其他回答

在我的情况下,删除项目根obj文件夹和重建项目解决了我的问题!

关闭visual studio,删除bin,调试发布文件夹,重新启动visual studio项目。 这解决了我的问题

这是一个不同的例子。似乎由于正在使用文件句柄,就会发生这种情况。我相信这就是为什么这个答案是有效的。对我来说,我有更多的项目。从命令行打开csproj,忘记了我让它打开。所以把手是锁着的。 Sysinternals有一个简洁的命令行工具,如果您偏爱命令行,则称为handle。你可以输入handle <你想要的任何文件或文件夹的部分名称>,它会告诉你什么程序(如果有的话)正在使用它。

由Sysinternals处理

发生在我把项目目标CPU从“任何CPU”改为“X64”,然后回到“任何CPU”之后。 通过删除Obj文件夹解决了这个问题(对于初学者:不要担心删除Obj文件夹,它将在下一次编译中重新创建)。

这里发布的解决方案没有一个对我有效。它是devenv.exe (Visual Studio)锁定文件,但如果我重新启动它,它会重新锁定它。

奇怪的是,Windows不允许我删除文件(到回收站),但Shift+Delete(永久删除)可以。