1

.Net 4.0 プロジェクトの FitNesse テストに SliM ランナーを使用しています。Enterprise Library ロガーを追加するまで、すべてが順調に進んでいました。構成からロガー用の Unity コンテナーを構成しています。構成が読み込まれると、テストは失敗し、EntLib dll を読み込めないというエラーが表示されます。スイートのクラスパス エントリを追加して、プロジェクトのビルド元の Microsoft.Practices.EnterpriseLibrary.Logging.dll および Microsoft.Practices.EnterpriseLibrary.Common.dll を含めても、失敗します。ただし、Runner.exe が存在するディレクトリと同じディレクトリに追加されている場合は検出されます。

それは問題ありませんが、ロガーがテスト中のプロジェクトに戻ってきたカスタムリスナータイプを使用することを除いて、ほとんど望ましいことではありません。そのカスタム型は、独自のライブラリと拡張機能に依存しています。Fitnesse は、すべてが Runner.exe と同じディレクトリにない限り、カスタム リスナーを含む dll とその依存関係を見つけることができないと訴えています。ただし、Enterprise Library への依存を取り除くだけで、テスト ランナーはビルド ディレクトリ内のすべてのアセンブリを正常に検出します。

4

1 に答える 1

0

アプリケーションの実行可能ファイル (この場合は runner.exe) と同じディレクトリで DLL を検索することを要求するいくつかのライブラリで問題が発生しました。dll が明示的に読み込まれている場合でも、認識されません。Unity と Enterprise Library の組み合わせは試していませんが、これは同様の問題である可能性があります。

runner.exe をビルド ディレクトリにコピーしてそこから実行すると、回避策になる場合があります。

AppDomain 設定を試すこともできます: http://fitsharp.github.com/FitSharp/SuiteConfigurationFile.htmlの AppDomainSetup を参照してください。

于 2012-03-20T20:55:04.787 に答える