2012-03-14 7 views
1

私は、.Net 4.0プロジェクトのFitNesseテストにSliMランナーを使用しています。エンタープライズライブラリのロガーを追加するまで、すべてがスムーズに進んでいました。私たちは設定から​​ロガーのUnityコンテナを設定しています。構成がロードされると、テストは失敗し、EntLib dllをロードできないと不平を言います。スイートのクラスパスエントリにプロジェクトがビルドされている場所からMicrosoft.Practices.EnterpriseLibrary.Logging.dllとMicrosoft.Practices.EnterpriseLibrary.Common.dllを含めるために追加されても、それでも失敗します。ただし、Runner.exeが存在するのと同じディレクトリに追加されている場合は、それらが見つかります。FitNesse SliMランナーはエンタープライズライブラリアセンブリを見つけることができません

これは大丈夫ですが、ほとんど望ましくはありませんが、ロガーがテスト中のプロジェクトに戻ってきたカスタムリスナータイプを使用する点を除いては十分です。そのカスタムタイプは、独自のライブラリと拡張機能に依存しています。 Fitnesseは、Runner.exeと同じディレクトリにない限り、カスタムリスナーとその依存関係を持つdllを見つけることができないと訴えています。しかし、エンタープライズライブラリへの依存を取り除くだけで、テストランナーはすべてのアセンブリをビルドディレクトリでうまく見つけることができます。

答えて

0

私は、アプリケーション実行ファイルと同じディレクトリ(この場合はrunner.exe)でDLLを探すことを主張するいくつかのライブラリに問題がありました。 dllが明示的に読み込まれたとしても、dllはそれを認識しません。 Unityとエンタープライズライブラリの組み合わせは試していませんが、同様の問題かもしれません。

runner.exeをビルドディレクトリにコピーしてそこから実行することで回避できます。

また、AppDomain設定を試すこともできます。

のAppDomainSetupを参照してください。
関連する問題