在VS2012 c#项目的构建过程中,我一直得到这个错误
Error 41 Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe".
Exceeded retry count of 10. Failed.
Error 42 Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another
process.
现在我知道该终止进程了
Weingartner.WeinCad.vhost.exe
(有时)有用,但这让我很紧张。有办法阻止这一切发生吗?
调试器设置为
我已经添加了不同次相同的问题,从这个治疗没有一个答案可以帮助,或者如果他们这样做了,使用一个讨厌的工作。
我认为这个问题总是有一个很好的原因发生(不是微软的bug!)-好吧,不过VS在标记方面可以做得更好:-))。
主要原因可能只是你的项目依赖关系搞砸了!
作为一个简单的例子():
在同一个解决方案中有多个项目
你清理+构建所有,并假设一切都很顺利,因为你没有看到错误
您开始运行其中一个项目—到目前为止一切正常!
然后开始运行第二个项目,但这个项目也有前一个项目使用的依赖项,并尝试重新构建它们
然后挂一段时间
它无法在第一个项目已经运行时进行构建,并且不允许您覆盖正在进行的流程
现在,您可以想到所有可能触发此类错误的场景:
Error Could not copy "obj\Debug\ProjectX.exe" to "..\bin\Debug\ProjectX.exe". Exceeded retry count of 10. Failed. The file is locked by: "ProjectX (17132)" ProjectX
修复这个问题通常是一个乏味的过程,因为您必须完全理解系统中的所有依赖项
我在Visual Studio 2013中遇到过类似的错误消息。
大多数情况下,我发现这种情况发生在调试进程因为异常而停止时。
当clean+build不能为我解决这个问题时,我通过以下方法取得了成功:
关闭Visual Studio
删除bin和obj文件夹
重新开放Visual Studio。
此“bug”自Visual Studio 2003以来一直存在。
最后,我还发现我通常可以通过简单地重命名可执行文件然后删除它来克服这个问题。
使用Ms进程资源管理器查看是否需要在Windows 7中打开“应用程序体验”
在我的情况下,所有其他建议都不起作用(Windows 7, VS2019)
编译后,生成的. exe文件被重新锁定约一分钟。另一个奇怪的观察:当删除。exe文件时,它像往常一样消失在文件资源管理器中,但在刷新时(F5)重新出现。
您可以使用MS进程资源管理器来查找是否有任何进程持有生成的. exe文件的句柄。为此,查看进程资源管理器的“下窗格”,选择查看句柄而不是dll,并使用“查找”来搜索您的. exe文件。
这告诉我,这是Windows 7的“系统”进程,得到了一个句柄。exe。
一些研究显示,我必须打开Windows的“应用程序体验”服务(“自动启动”)才能永久摆脱这种奇怪的行为。
以下是更多信息:
在什么情况下,系统进程(PID 4)保留一个打开的文件句柄?