Visual Studio 2012警告MSB3026:无法复制DLL文件

时间:2013-03-28 18:20:20

标签: .net asp.net-mvc visual-studio visual-studio-2012 signalr

我一直在:

  

警告MSB3026:无法复制dll错误。

我在解决方案中有几个项目。

在构建时,我也收到错误:

  

错误47无法将“myapp \ bin \ Debug * .dll”复制到“bin * .dll”。超过重试次数10.失败。

应用程序在调试过程中停止响应,我每次都必须关闭Visual Studio。这很烦人,但现在它也变得令人沮丧。

我们是八名团队成员,我们所有人都遇到了同样的错误。我们无法重建解决方案,应用程序运行速度非常慢。

我们在项目中使用的一件事是SignalR

这些是我到目前为止所尝试过的。他们没有帮助我,但他们可能会帮助读者:

  1. 我尝试了 Visual Studio debugging/loading very slow 中描述的解决方案,但这不起作用。

  2. 我还尝试取消选中在每个项目属性中启用Visual Studio托管过程,但也没有解决问题。

  3. http://www.richard-banks.org/2008/04/how-to-fix-problems-with-locked-files.html中描述了解决方案 和 http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/40ed753e-47af-4638-8a72-1d607102a05c/

  4. 在项目上预构建脚本: if exist "$(TargetPath).locked" del "$(TargetPath).locked" if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

  5. bin文件夹不受源代码管理。

  6. 有时杀死Microsoft.VisualStudio.Web.Host.exe过程中释放的文件锁,但是这并不总是工作。

  7. 我正在以管理员模式运行Visual Studio。

  8. 我对源代码文件夹有完全访问权限(权限读/写)。

9 个答案:

答案 0 :(得分:8)

这通常是bin目录的权限问题。在Windows资源管理器中导航到它,并确保只读取。如果更改目录的读取状态时出错,请确保您在管理员级帐户上运行或相应地提升。重新启用写入权限后,您的构建应该可以正常工作。

答案 1 :(得分:4)

Clean Solution,然后Rebuild Solution为我解决了这个问题 我第一次尝试执行Clean时遇到了访问冲突错误 为了解决这个问题,我退出了VS,手动删除了bin文件夹,并将其重新打开。 然后我可以执行清理。

这与权限或访问级别无关 确保输出目录不是只读的,并且运行VS作为管理员没有帮助。

请参阅Visual Studio “Could not copy” … during build

答案 2 :(得分:2)

我也遇到了这个问题,看起来像VS中的一个已知错误,在2010年,2012年和2013年不时随机地让人们,我在这里尝试了很多建议,以及在其他网站上找到的一些建议,没人工作。是什么帮助我进入项目的调试属性和清除"启用Visual Studio托管过程",重建所有,不再有错误。

希望这对你有用,但是那说,因为它是VS本身已知的一个已报告的错误,我们可能都会修复症状并幸运地做了一些事情来清除文件锁定,真正的问题仍然存在于VS.

答案 3 :(得分:2)

几天前我遇到过这个问题并尝试了很多方法,但是对我有用的解决方案是停止一个项目中某些类库使用的Windows服务。

答案 4 :(得分:1)

我有同样的问题。似乎dll视觉工作室试图复制是腐败或类似的东西。我试图将特定的dll复制到我的桌面,但它失败并显示错误消息。所以我用新的dll替换了整个dll,这解决了我的问题。希望有所帮助。

答案 5 :(得分:1)

这对我有用:

  1. 关闭VS
  2. 删除bin和obj文件夹。
  3. 如果项目位于任何与云服务同步的文件夹(如OneDrive)中,请将其移动到本地常规文件夹中。
  4. 删除解决方案文件夹中的.suo文件
  5. 再次打开VS并重新构建。

一些类似的问题与被锁定的dll有关,因此它们无法被复制,在这种情况下,可以找到herehere的帮助!

答案 6 :(得分:0)

这个问题一直困扰着我的发展。无论是禁用“只读”安全权限还是修改影响dll的访问权限。

我通过确保解决方案的父文件夹上的安全权限允许计算机管理员进行读写访问,然后以管理员模式运行Visual Studio来解决此问题。

答案 7 :(得分:0)

我遇到了同样的问题。清除浏览器历史记录并构建项目。这解决了我的问题。希望有所帮助。

答案 8 :(得分:0)

对我来说同样的问题。解决方案是我的调试器仍然在后台运行程序。