使用Visual Studio 2010测试版,当我在IDE中运行我的应用程序进行调试时,它第一次完美运行.但是,在关闭调试会话后,通过关闭应用程序或单击"停止调试"按钮,所有后续调试应用程序的尝试都将失败:
错误1无法将文件"obj\Debug\Application.dll"复制到"bin\Debug\Application.dll".该进程无法访问文件'bin\Debug\Application.dll',因为它正由另一个进程使用.
来自SysInternals的Handle.exe确实显示句柄打开,但即使我关闭句柄,错误也不会消失.任何手动删除文件的尝试都会导致"拒绝访问"错误消息.
要解决这个问题,我必须完全重启Visual Studio,之后Debug会话将工作一次并再次停止.
我不确定这是什么时候开始发生的,但我很确定这是最近的事情.
更新:我强制关闭Application.dll上的句柄后,我从VS收到以下错误:
错误1无法将文件"obj\Debug\Application.dll"复制到"bin\Debug\Application.dll".无法对打开了用户映射部分的文件执行请求的操作.
什么是"用户映射部分"?
更新2:当我尝试调试时在设计视图中打开窗体时,似乎会出现此问题.我将进行更多故障排除,然后发布我的结果.
更新3:我想我已经使用UserControl将其缩小为一个表单.
Chr*_*son 12
说实话,这听起来像VS2010中的一个错误.由于某种原因,当调试器停止时它没有关闭打开的句柄.杀死VS进程会自动关闭这些句柄,允许您再次访问该文件.作为一种解决方法,你可能会看到解锁器它是免费的并且工作得非常好.我知道这不是一个好的答案,但它应该比重启VS更快.您也可以考虑发送错误报告......
Unlocker不能在64位操作系统上运行,但LockHunter确实如此.
根据错误:无法访问文件bin/Debug/...因为它被TarmoPikaro的另一个进程回答使用,有时Visual Studio会创建多个msbuild.exe ghost进程,这些进程在构建后仍然存在.这些ghost进程似乎导致文件锁定.
杀死msbuild.exe是一次性解决方案,需要在每个构建的基础上完成.
taskkill/f/im MSBuild.exe
您可以一劳永逸地禁用并行构建:
工具>选项>项目和解决方案>构建和运行>"最大并行项目构建数" - 默认情况下,它的值为8,将其切换为1.
当然构建现在有点慢,但里程可能会根据您的使用情况而有所不同.
这与错误有关 :无法访问文件bin/Debug/...因为它正由另一个进程使用
归档时间: |
|
查看次数: |
28844 次 |
最近记录: |