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

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

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

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


当前回答

在我的情况下,我试图发布API到我的本地IIS,我通过简单地删除IIS目标文件夹中的导致文件并再次发布API来修复它,它似乎已经损坏或其他东西。

其他回答

你在运行杀毒软件吗?有可能是AV软件(或其他软件)正在使用文件映射api读取文件,这导致了问题。

以上都没有解决这个问题。

有人在我的解决方案集中有一个项目在构建配置中使用x64 CPU。将其更改为Any CPU会导致构建使用新文件夹。我仍然不知道哪个进程对那个文件有锁。

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

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

我的问题也通过筛选流程资源管理器解决了。然而,我必须杀死的进程是MySQL Notifier.exe,它在关闭所有VS和SQL应用程序后仍然在运行。