Sim*_*gré 6 environment visual-studio-2010
我有一段时间有问题(因为我正在使用Visual Studio 2010).当我尝试在我的Web应用程序上启动调试时,我从VS.net环境中随机获取此错误:
错误1无法将文件"obj\Debug\SolutionName.exe"复制到"bin\Debug\SolutionName.exe".该进程无法访问文件'bin\Debug\SolutionName.exe',因为它正由另一个进程使用.
摆脱这个错误的唯一方法是重新启动Visual Studio(以便很快得到错误,例如每天两次).
在互联网上搜索了一下之后,我发现可以从这里添加一个预先构建的MSDN Link
我发现的只是在预构建事件中写下一些内容并进行一些文件处理......好吧(无论如何都不行).
问题1:有没有更简单的方法来解决这个问题(并且总是如此!)
问题2:这个问题的确切原因是什么?
这与卷影复制有关。您可以在 web.config 中像这样禁用它:
hostingEnvironment shadowCopyBinAssemblies="false"
如果上述设置对于预构建事件根本不起作用,您还可以使用解决方法:
if exist "$(TargetPath).locked.bak" del "$(TargetPath).locked.bak"
if exist "$(TargetPath).bak" del "$(TargetPath).bak"
if exist "$(TargetPath).locked" ren "$(TargetPath).locked" "$(TargetPath).locked.bak"
if exist "$(TargetPath)" ren "$(TargetPath)" "$(TargetPath).bak"
您可以在 Windows 中完全禁用 ShadowCopy 服务,这样您就不必为所有解决方案设置这些值,但这会破坏很多功能,因此我不建议这样做。
您始终可以使用自定义批处理脚本来由最后一个项目的构建后事件(根据构建顺序)调用,这将完成所有复制业务(我现在使用的)。
| 归档时间: | 
 | 
| 查看次数: | 1417 次 | 
| 最近记录: |