我为 NUnit 单元测试编写了一个自定义类库。它在 {project root}\bin\Debug\文件夹中创建了一个包含我的 .NET IL 代码的 dll 文件。在这个类库中运行 NUnit 单元测试工作正常,但是如果我再次尝试编译我的类库,我会收到这个错误。 NUnit 没有释放锁。这是什么原因造成的?我怎样才能防止这种情况发生?
首次运行 NUnit 后编译时出现 Visual Studio 错误:
错误 {error #} {class library project name} 无法将文件 {class library project root folder} + "\bin\Debug\Tests.dll"复制到 "bin\Debug\Tests.dll"。该进程无法访问文件“bin\Debug\Tests.dll”,因为它正被另一个进程使用。
因此,我可以更改代码的唯一方法是关闭 NUnit 并重新打开 NUnit。我正在使用 NUnit 2.6。这很烦人。
最佳答案
我发现解决这个问题的唯一方法是重新启动 NUnit。这会释放锁,但是下次运行测试时可能会遇到同样的问题。
但是,您可以查看以下可能有帮助的信息:
它可能是重新加载设置,per this google groups thread
See the Assembly Isolation section
或最后:
It could be the location of your code bases?
关于.net - NUnit 不会释放自定义类库 dll 上的锁...运行 NUnit 后无法编译类库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076745/