我有一个项目,其中我有一些C#类,我在我的ant脚本中使用csc构建。我还编写了一些单元测试,我想用 NUnit2.6 进行测试,我的测试类和实际类引用一个用String Key Name(.snk)编译的DLL,如果我安装的话我的GAC中的DLL(gacutil / i myDLL.dll)一切正常。一旦我从gac中卸载这个DLL,当我尝试使用NUnit运行我的测试时,我在构建期间得到了所有测试的跟随错误;
Test Error : fromJDynTest1
[exec] System.IO.FileNotFoundException : Could not load file or assembly 'myDLL, Version=5.1.0.0, Culture=neutral, PublicKeyToken=c0409b584f86b2d6' or one of its dependencies. The system cannot find the file specified.
[exec] at fromJDynTest1()
...
...
有谁知道如何解决这个问题。如果您需要任何其他信息,请与我们联系。
由于
-
SJunejo
答案 0 :(得分:1)
您正在测试的代码在将其放入gac中时无法看到有问题的组件,它可以看到组件。您需要确保正在测试的代码在编译时在bin目录中具有程序集(可能在程序集引用的项目中将copy local设置为false)。
我确定它不是依赖项(在消息中提到)的原因是因为当程序集放在gac中时情况得到解决。此错误不太可能是因为程序集强名称。
未通过测试代码引用程序集,并且测试代码没有引用或具有相同的问题(不在其编译目录中)。
如果您发布了项目的实际测试或结构,将会有所帮助。
.net按如下方式定位程序集: