Visual Studio 2008将dll锁定在bin文件夹中并且不放开它

2024-02-28

我正在开发一个由 8 个 .NET 项目组成的解决方案。由于我正在练习 TDD,因此我必须经常重新编译我的解决方案。最近,我在尝试编译时每隔两次都会收到以下错误:

错误2 无法复制文件 “obj\Debug\Zeiterfassung.Tests.dll”到 “bin\Debug\Zeiterfassung.Tests.dll”。 该进程无法访问该文件 'bin\Debug\Zeiterfassung.Tests.dll' 因为它正在被另一个人使用 过程。

Zeiterfassung.Tests.dll 是我的一个项目(它是单元测试项目)生成的 dll。始终是这个 dll 无法复制并导致错误。其他一切都 100% 正常工作。

大约 9/10 次我可以通过再次重新编译我的解决方案来“解决”问题。但是,当问题变得非常严重时,无论我尝试多少次,项目都无法成功编译,并且必须重新启动 IDE。

我使用微软的handle.exe来确定哪个进程正在锁定DLL,它是devenv.exe。我也尝试过手动删除DLL,但确实无法删除,直到我重新启动IDE。

最后但并非最不重要的一点是,我尝试添加<GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>按照另一个论坛的建议添加到我的项目,但这没有帮助。

请帮忙!这个问题真的开始让我抓狂了。

Edit:我还可以补充一点,当这个问题发生时,我确保我的单元测试已经完成。尽管如此,该 dll 仍保持锁定状态。我正在通过 Resharper 单元测试资源管理器运行我的测试。


我以前也遇到过同样的问题。流程浏览器 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx能够删除句柄。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 2008将dll锁定在bin文件夹中并且不放开它 的相关文章

随机推荐