我有一个测试组件。如果我将该测试程序集加载到NUnit中,则所有测试都会成功。
如果我将该测试保存为项目,我会在参考Moq时出现159错误。
项目文件如下所示
<NUnitProject>
<Settings activeconfig="Default" />
<Config name="Default" binpathtype="Auto">
<assembly path="My.Assembly.Name.dll" />
</Config>
</NUnitProject>
错误是
My.Test.Name:
System.IO.FileLoadException : Could not load file or assembly
'Moq, Version=4.0.812.4, Culture=neutral, PublicKeyToken=69f491c39445e920' or
one of its dependencies. The located assembly's manifest definition does not
match the assembly reference. (Exception from HRESULT: 0x80131040)
错误本身就足够了。我们正在使用NuGet的v4.0.10827,所以你不会指望它找到v4.0.812.4。问题是:为什么要查找它,为什么只有当我使用.nunit项目文件时?
测试程序集未引用旧版本,并且解决方案中没有其他程序集引用它。
答案 0 :(得分:3)
尝试将.nunit项目文件重命名为My.Assembly.Name.dll.nunit,我遇到.nunit项目没有找到测试中的程序集的app.config文件的问题,这就是我解决它的方法。