在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

(有时)有用,但这让我很紧张。有办法阻止这一切发生吗?

调试器设置为


当前回答

打开项目属性[菜单>项目>属性] 选择“调试”选项卡 取消勾选“启用visual studio托管进程” 启动调试[F5] 你会收到安全警告,只是“ok”。让应用程序运行 停止调试。 检查选项“启用visual studio托管进程”,在调试选项卡下, 现在,尝试开始调试,您将不会再次看到错误

[为我工作]

其他回答

对我来说,杀死vste .executionengine.exe进程(es)在90%的情况下解决了这个问题。如果这不起作用,那么也杀死QTAgent32.exe,然后删除项目的/bin和/obj文件夹。

这是我工作中最烦人的部分。:)

似乎通过更改项目的程序集名称就可以解决这个问题。

所以不是这样

我把它变成这个

注意,我只是把它从Increment and Recall改成了Increment_Recall,我只是去掉了空格。它现在对我来说工作得很好。

我注意到一些答案可以解决我的问题,但是,以防有人有和我一样的问题。

如果你正在运行一个控制台应用程序:在你做任何其他事情之前。

确保您已经关闭了从以前的版本中打开的任何控制台窗口。例如,我只是在一个控制台应用程序中测试一些代码,我没有意识到以前运行程序时的控制台窗口是打开的。在我调试的过程中,窗口被推到后面,我看不到它。只是说,这可能是你的问题,所以检查确保这不是问题。

用款。我通过编辑MSBuild.Community.Tasks.Targets文件并更改bin路径解决了这个问题:

<MSBuildDnnBinPath Condition="'$(MSBuildDnnBinPath)' == ''">$(MSBuildProjectDirectory)\bin</MSBuildDnnBinPath>

我发疯了,试图找到为什么系统进程在我正在工作的EXE上保持一个打开的句柄,在它被终止后的另一分钟,我得到了与OP相同的错误。

原因是之前的开发人员在使用(){}时没有包装IDisposable对象。一旦IDisposable对象正确地销毁自己,错误不再发生,我能够立即重建。