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

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

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

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


当前回答

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

其他回答

我也有同样的问题。我是这样决定的:

打开“任务管理器” 结束任务“Explorer.exe” 点击“文件”——>创建新任务——在“explorer.exe”中输入——> 清洁我的项目,它工作

我在windows 10, Visual Studio 2022, Visual Basic项目上遇到过。进程资源管理器“查找句柄/DLL”显示了4行devenv.exe锁定文件。

除了杀死devenv.exe,我还可以通过简单地删除包含锁定文件的文件夹来修复这个问题(在这种情况下,它是bin\Debug)。这很奇怪,因为我不允许删除锁定的文件,但我可以删除整个文件夹。

在我的例子中,是资源管理器锁定了调试文件夹中编译的DLL…很奇怪,不是吗?

我是用一个叫解锁的工具发现的。

必须用Unlocker删除,即使它说文件没有锁,我不能删除文件夹,直到我不删除那个文件……

之后,它进行了编译。

编辑:

我发现了为什么在我的案例中会发生这种情况。我在Visual Studio的文本编辑器中打开了DLL…

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

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

删除obj文件夹并重新构建对我来说很有效