.net - NUnit 不会释放自定义类库 dll 上的锁...运行 NUnit 后无法编译类库

标签 .net visual-studio-2008 compilation nunit filelock

我为 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/

相关文章:

go - golang 中的这些//!+//!- 标签是什么?

emacs - 如何让编译日志在 Emacs 中创建一个新窗口?

java - Java 9 是否支持提前编译?

c# - 是否有可能获得一个 Action 中的语句数量或确定它是否有空体?

c++ - Visual C++ - 将插件 DLL 链接到 EXE?

c# - 在客户端机器上安装字体

.net - 如何关闭所有发行版的pdb生成和vshost

.net - netstandard1.0/netstandard1.2 和 LINQ

c# - 如何列出相机可用的视频分辨率

c# - 具有默认值的 XmlSerializer 和 List<T>