所请求的操作不能在打开了用户映射部分的文件上执行

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

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

这可能是由于一些系统locking。 或者也许另一个进程正在使用这个DLL。 当我GOOGLE时,我发现重新启动系统可能会解决这个问题。

有没有人可以为此提出一个原因或解决scheme? 我检查了TexteDll(一般,版本,安全等)的属性。 一切似乎正常。

在我的情况下,这是资源pipe理器locking在Debug文件夹中编译的DLL …奇怪,不是吗?

我发现使用一个名为Unlocker的工具。

不得不删除与解锁,即使当它说没有locking的文件,我不能删除该文件夹,直到我没有删除单个文件…

之后,它编译。

编辑:

我发现为什么在我的情况下,这是发生。 我有一个Visual Studio中的文本编辑器中打开的DLL …

  • 有时当你双击关于两个或多个项目之间的引用程序集版本不匹配的警告时,你会忘记closures程序集视图窗口,并且它会停留在其他选项卡中…所以最终会由VS本身locking程序集,花了我相当多的时间来弄清楚:)

    小心VS提供的电源;)

  • 另一个虚拟场景。 有时候只是简单的删除整个obj文件夹,或者只是文件被警告,locking的文件可以帮助你处理这个蹩脚的错误。

closuresVS上的所有文件,并尝试重新生成。 如果它不工作重新启动VS. 此问题与DLL文件的locking有关。

我有同样的问题,在我看来,现有的输出文件被其他应用程序locking。

您可以使用OpenedFilesView来检查哪个应用程序正在locking您的输出文件: http ://www.nirsoft.net/utils/opened_files_view.html

closuresvisual studio,删除bin,debugging发布文件夹,并再次启动visual studio项目。 这解决了我的问题

我是一名开发人员,不喜欢像Unlocker一样注入注册的应用程序。 我用SysInternals进程资源pipe理器哪个进程locking我的DLL Find > Find Handle or Dll [Ctrl-F]并终止进程。

你正在运行任何防病毒软件。 AV软件(或其他软件)可能使用导致问题的文件映射API来读取文件。

在我的情况下,我不得不杀死一个正在locking文件的挂起MSBuild.exe进程(甚至在我closuresVisual Studio后,它仍然在那里)。

其他人已经确定,这个错误是由于另一个应用程序locking了文件。 只是想指出, git diff文件,直到你退出它。 这就是我的情况。

对我来说,解决scheme是closuresVS的所有实例,并杀死任何悬挂的devenv.exe进程。

这里没有任何解决scheme为我工作。 这是devenv.exe(Visual Studio)locking文件,但如果我重新启动它,它会重新locking它。

奇怪的是,Windows不会让我删除文件(回收站),但Shift +删除(永久删除)工作。

closuresVisual Studio并以pipe理员身份运行。 这是解决我的问题。

在使用Ant构buildDot Net应用程序时,我看到了这些错误。

在我的情况下,这是我们的公司备份软件,赛门铁克DLO代理。 停止它,并排除我的防病毒软件中的目录,并closuresVisual Studio似乎工作。

我有同样的问题。 重新启动没有为我工作。 有一个叫做VBSCompiler的进程在任务pipe理器中运行。 我不得不结束这个过程来解决这个错误。

我遇到了这个错误,事实certificate这个问题是FxCop对我的项目运行。 我closures了FxCop,然后我可以再次编译。

如果这是一个Web应用程序删除Temporary ASP.NET Files文件夹中的文件可能是一个解决scheme。

如果您使用AQ时间等分析器,这些也可能会locking文件。 在这种情况下,解决scheme是重新启动分析器,或者简单地从分析器中卸载/加载有问题的程序集。 对于AQ时代,我注意到它在一段时间之后释放了文件,但是我不能告诉我这个超时是什么。 似乎是随机的

今天我也有同样的错误。 我通过重build项目解决了这个问题。

对我来说,解决scheme是重新启动计算机。

删除obj文件夹和重build为我工作