34

我不断得到:

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

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

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

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

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

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

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

这些是我迄今为止尝试过的事情。他们没有帮助我,但他们可能会帮助读者:

  1. 我已经尝试过Visual Studio 调试/加载速度非常慢中描述的解决方案,但没有奏效。

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

  3. http://www.richard-banks.org/2008/04/how-to-fix-problems-with-locked-files.htmlhttp://social.msdn.microsoft.com/Forums/中描述了解决方案zh-CN/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. 我对源代码文件夹具有完全访问权限(读/写权限)。

4

10 回答 10

11

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

于 2013-03-28T19:02:27.907 回答
6

清洁解决方案,然后重建解决方案为我解决了这个问题。
我第一次尝试执行清理时,出现访问冲突错误。
为了解决这个问题,我退出了 VS,手动删除了 bin 文件夹,然后重新打开它。然后我可以执行清洁。

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

请参阅Visual Studio “无法复制” ... 在构建期间

于 2014-09-17T14:25:19.420 回答
3

我也遇到了这个问题,似乎是 VS 中的一个已知错误,在 2010 年、2012 年和 2013 年时不时地随机吸引人们,我在这里尝试了许多建议,以及在其他网站上发现的一些建议,但都没有奏效。帮助我的是进入项目的调试属性并清除“启用 Visual Studio 托管进程”,重建所有并且不再出现错误。

希望这对您有用,但也就是说,由于它是 VS 本身中已知的报告错误,我们可能都在修复症状并幸运地做一些事情来清除文件锁定,真正的问题仍然存在于 VS 中。

于 2014-04-18T19:38:23.470 回答
3

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

于 2015-10-27T09:07:50.750 回答
2

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

于 2017-05-04T03:33:36.153 回答
1

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

于 2013-10-28T08:24:59.327 回答
1

这对我有用:

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

一些类似的问题涉及 dll 被锁定,因此无法复制,在这种情况下,可以在此处此处找到帮助!

于 2020-03-26T14:41:24.443 回答
0

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

于 2014-05-15T08:37:31.703 回答
0

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

我通过确保解决方案的父文件夹上的安全权限允许计算机的管理员读取和写入访问权限,然后在管理员模式下运行 Visual Studio 解决了这个问题。

于 2013-09-27T09:25:27.157 回答
0

我有两个项目

  • 源/回购/项目1
  • 源/回购/项目2

项目 1 已将项目 2 添加为现有项目(两个不相邻的文件夹)发生错误消息。

但是当我将 Project2(作为文件夹)移动到 Project 1 中时,错误消息就消失了。

新结构是:

  • 源/回购/项目1
  • 源/存储库/Project1/Project2

一旦我将 Project2 作为“现有项目”添加到项目 1 中,一切正常。

于 2021-11-12T23:47:51.697 回答