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

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

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

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


当前回答

如果你正在使用像AQ Time这样的分析器,它们也可能会锁定文件。在这种情况下,解决方案是重新启动分析器或简单地从分析器卸载/加载相关程序集。 对于AQ时间,我注意到它在一段时间后释放文件,但我不能告诉我的生活超时是什么。 似乎是随机的

其他回答

Sometimes when you double click on a warning about the referenced assembly version mismatch between two or more projects you forget to close the assembly view window and it stays there among other tabs... so you end up with the assembly being locked by VS itself and it took me quite a lot of time to figure that out :) Be careful with the power VS provides ;) Another dummy scenario. Sometimes simply deleting the whole obj folder or just the file warned as the locked one helps out with this crappy error.

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

我在用Ant构建Dot Net应用程序时看到了这些错误。

在我的例子中,它是我们公司的备份软件,赛门铁克DLO代理。停止它并排除我的杀毒软件中的目录并关闭Visual Studio似乎有效。

关闭VS上的所有文档,并尝试重新构建。如果不工作,重新启动VS.此问题与DLL文件的锁有关。

其他人已经确定此错误是由于另一个应用程序对该文件进行了锁定。只是想指出git diff锁文件以及直到你退出它。这就是我患病的原因。