我遇到了这个问题
无法复制文件
"*\bin\debug\*.dll"
至"bin\*.dll"
当发生这种情况时,由于上述错误,编译将失败。
编辑:我知道该文件被devenv.exe进程锁定导致上述错误,因为如果我重新启动VS,那么问题就会消失,但无论如何都要解决这个问题重新启动VS?
答案 0 :(得分:6)
我过去遇到过这种情况,正如Sam所说,重启VS似乎有效,但不是你想要的。
但是,MSDN论坛上有一个帖子“Unable to copy from obj\debug to bin\debug”,它提供了一些建议:
选项1
在您的帐户中创建预构建操作 通过转到项目属性进行项目 (右键单击中的项目 解决方案资源管理器,并选择 属性选项),选择Build 活动标签。添加以下代码:
如果存在“$(TargetPath).locked”del “$(TargetPath).locked”如果不存在 “$(TargetPath).locked”移动 “$(TargetPath)”“$(TargetPath).locked”
将文件复制到其他文件 name,并允许继续构建 成功。
随后跟进:
但是一个小改进是 还需要让黑客工作 如果构建是从头开始运行的,例如 干净后:
如果存在“$(TargetPath).locked”del “$(TargetPath).locked”如果不存在 “$(TargetPath).locked”如果存在 “$(TargetPath)”移动“$(TargetPath)” “$(TARGETPATH).locked”
选项2
我有类似的问题,我解决了 它排除在项目中 [选择的源库] 文件夹bin和obj。
HTH的
答案 1 :(得分:2)
FWIW,这个bug已经存在了YEARS,MS仍然没有修复它。只需谷歌“MSB3021”即可查看有关它的所有帖子。
答案 2 :(得分:1)
我之前也见过这个问题,如果我没记错的话我只是关闭了Visual Studio并重新启动它。如果你知道锁定文件的过程,你需要找到一种方法来a)让进程释放锁,b)杀死进程
答案 3 :(得分:0)
我看到了这个问题,我在VBprojects文件夹中找到了我项目的调试文件夹并删除了文件,然后我重建了应用程序并且它正常工作