NUnit テストを実行するために、自社のビルド サーバー (CruiseControl.NET を実行) を構成中です。ファイル IO を減らしてビルド時間を改善するために、ビルドはカスタム ターゲット ファイルを使用して Copy Local をオフにするようにセットアップされます (基本的にここに示されているもの: How do I override CopyLocal (Private) setting for references in .NET from MSBUILD )。ただし、Copy Local = false は、他のアセンブリを参照するテスト プロジェクトのビルド サーバーで NUnit を実行すると、ランタイム アセンブリ バインディング エラー (「ファイルまたはアセンブリを読み込めませんでした」) を引き起こします。テスト プロジェクト。
これを機能させるために Copy Local をオンにすることはできますが、ビルドが遅くなります。Copy Local = false を維持しながら、ビルド サーバーで NUnit テストを実行できるようにするために使用できる戦略はありますか? この状況は以前に他の誰かに当てはまったと思いますが、明らかな何かが欠けています。
参考までに、CruiseControl.NET ビルド構成で各テスト プロジェクトを実行する方法を次に示します。
<exec>
<executable>nunit-console.exe</executable>
<baseDirectory>C:\Program Files\NUnit 2.6\bin</baseDirectory>
<buildArgs>C:\Source\UnitTests.csproj /xml:C:\BuildLogs;\$(ProjectName)\NUnitResults\nunit-results.xml</buildArgs>
</exec>