0

エラーメッセージ:

System.Runtime.Serialization.SerializationException : アセンブリ 'MyCompany.Plates、Version=12.15.0.0、Culture=neutral、PublicKeyToken=0b9f95a95d107d22' が見つかりません。+++++++++++++++++++ スタック トレース: System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() で

2 つの 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 を実行すると、上記のエラーが発生します。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

/noshadow を指定してコンソール プロジェクトを実行する必要があると思います

ドキュメントから

/noshadow オプションは、パフォーマンスを向上させるために、アセンブリのシャドウ コピーを無効にします。

このシャドウ コピーが原因で、プロジェクトのアセンブリの読み込みが失敗することがあります。

于 2013-10-30T15:08:24.917 に答える
0

設定ファイルのappbaseを場所と場所を指すように設定することで、これを修正しました。.nunitPlatesTests.dllMyCompany.Plates.dll

新しいファイルは次のようになります。

<NUnitProject>
  <Settings activeconfig="Default" appbase="..\..\Build Products\ReleaseTests" />
  <Config name="Default" binpathtype="Auto">
    <assembly path="..\..\Build Products\ReleaseTests\PlatesTests.dll" />
  </Config>
</NUnitProject>
于 2013-10-30T16:46:19.197 に答える