每当我试图复制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进程。

其他回答

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

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

我是一名开发人员,不喜欢像Unlocker这样的应用注入到注册表中。 我使用SysInternals进程资源管理器,该进程锁定了我的dll查找>查找句柄或dll [Ctrl-F]并杀死了进程。

在我的情况下,仍然有VS2022 (devenv.exe)运行的“不可见”实例。它被列在任务管理器中,状态=挂起,但在任务栏或其他任何地方都看不到相应的窗口。在终止该进程之后,问题就解决了。

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

我也有同样的问题,在我的情况下,似乎现有的输出文件被其他应用程序锁定。

你可以用OpenedFilesView检查哪个应用程序锁定了你的输出文件: http://www.nirsoft.net/utils/opened_files_view.html