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

Adr*_*ore 7 msbuild visual-studio

我正在研究一个由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,项目才会成功编译.

我使用microsoft的handle.exe来确定哪个进程正在锁定DLL,它是devenv.exe.我也尝试手动删除DLL,直到我重新启动IDE才真正删除它.

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

请帮忙!这个问题真的开始让我疯狂.

编辑:我可能还补充说,我确保在发生此问题时我的单元测试已完成.仍然,DLL仍然锁定.我正在通过Resharper单元测试资源管理器运行我的测试.

Adr*_*ore 0

在我移动测试项目、从存储库中检出该项目的早期版本并用较新版本替换所有代码文件后,看起来该错误消失了(手指交叉......)。