在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 Premium 2013 (Update 3)中,我用一个预构建的一行程序解决了这个问题:
(if exist "$(TargetDir)*old.pdb" del "$(TargetDir)*old.pdb") & (if exist "$(TargetDir)*.pdb" ren "$(TargetDir)*.pdb" *.old.pdb)
这将优雅地删除任何旧的PDB文件(如果可以的话),然后重命名任何带有.old的文件。pdb的扩展。一个很好的副作用是,如果旧的PDB仍然是锁定的,它只是在文件名中添加另一个.old块,并且在下次重新启动Visual Studio并进行构建时,它们都将被清除。
例如,构建/调试会话1离开MyProject。pdb锁定。
下次构建时:
MyProject的。MyProject.old.pdb
然后,构建/调试会话2启动,并且MyProject。pdb和MyProject.old.pdb仍然锁定:
MyProject.old.pdb—> MyProject.old.old.pdb
MyProject的。MyProject.old.pdb
最后,重新启动Visual Studio并进行一个新的构建将摆脱这两个问题,并像往常一样继续这个过程。
异常
在某些情况下,在Visual Studio当你(Build || Rebuild)在上面
运行IISExpress时,你会遇到这个异常:
无法复制文件"obj\Debug\YourProjectName.dll"到bin\YourProjectName.dll"。进程无法访问该文件
'bin\YourProjectName.dll',因为它正在被其他人使用
过程
解决方案
右键单击需要构建的web项目。
单击属性。
在左侧选择Build Events选项卡。
在Pre-build events命令行中粘贴这两行:
tasklist /fi “imagename eq iisexpress.exe” |find “:” > NUL
如果错误级别 1 任务杀死 /f /im “iisexpress.exe”
你很好!
我找到了一个完整的解决方案!
大多数答案告诉你杀死进程,然而与进程黑客,我找不到任何。
我找到了一个相对简单的解决方案。
在窗体设计器中选择您的主窗体。
单击属性菜单上的事件选项卡。
双击事件FormClosing。这将自动生成事件系统和函数:
private void[你的表单名]_FormClosing(对象发送器,FormClosingEventArgs e)
在这个函数中,添加Application。退出
像这样:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
有用的图像
我希望这能有所帮助!这道题真糟糕!
修复2
打开一项名为“应用体验”的服务。