System.Runtime.Serialization.SerializationException:无法找到 程序集'MyCompany.Plates,Version = 12.15.0.0,Culture = neutral, 公钥= 0b9f95a95d107d22' 。 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
有两个dll:
PlatesTests.dll 和 MyCompany.Plates.dll
测试全部在PlatesTests.dll中。被序列化的对象位于MyCompany.Plates.dll中。
通过将PlatesTests.dll传递给nunit-console.exe来运行时,一切都会通过。
但是我们的构建系统使用.nunit文件,如
<NUnitProject>
<Settings activeconfig="Default" />
<Config name="Default" binpathtype="Auto">
<assembly path="..\..\Build Products\ReleaseTests\PlatesTests.dll" />
</Config>
</NUnitProject>
当针对此.nunit文件运行nunit-console时,它会出现上述错误。
有人可以帮忙吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
通过将.nunit设置文件中的 appbase 设置为指向PlatesTests.dll和MyCompany.Plates.dll所在的位置来解决此问题。
新文件如下所示:
<NUnitProject>
<Settings activeconfig="Default" appbase="..\..\Build Products\ReleaseTests" />
<Config name="Default" binpathtype="Auto">
<assembly path="..\..\Build Products\ReleaseTests\PlatesTests.dll" />
</Config>
</NUnitProject>