NuGet を使用して Common.Logging.Log4Net を取得する C# プロジェクトのビルドを管理しています。Visual Studio 2010 から実行すると、単体テストはすべてエラーなしで合格しますが、MSTest を使用してコマンド ラインから実行すると (したがって、TeamCity が同じことを行うと)、単体テストがこれを行うクラスをヒストすると失敗します。
private static readonly ILog Log = LogManager.GetCurrentClassLogger();
エラーは次のとおりです。
テスト メソッド MyProject.Tests.Unit.BusinessDateBuilderTest.CreateElementalTest が例外をスローしました: System.TypeInitializationException: 'MyProject.Common.Library' の型初期化子が例外をスローしました。---> System.TypeInitializationException: 'MyProject.Common.Initialization.Impl.InitializationLoaderImpl' の型初期化子が例外をスローしました。---> Common.Logging.ConfigurationException: 構成セクション 'common/logging' から Common.Logging の構成を取得できませんでした。---> System.Configuration.ConfigurationErrorsException: 共通/ログ用の構成セクション ハンドラーの作成中にエラーが発生しました: タイプ 'Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net' を作成できません (C:\Subversion\Project\ MyProject.Tests. Unit\bin\Debug\TestResults\rac_DWM300619 2012-10- 30 11_58_34\Out\MyProject.Tests.Unit.dll.config 行 168) ---> Common.Logging.ConfigurationException: タイプ 'Common.Logging.Log4Net を作成できません.Log4NetLoggerFactoryAdapter、Common.Logging.Log4net' ---> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Common.Logging.Log4net' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
次の NuGet 依存関係を使用しています。
Common.Logging.2.1.1 (DLL のバージョンは 2.1.1.0) Common.Logging.Log4Net.2.0.1 (DLL のバージョンは 2.0.0.0) log4net.1.2.10 (DLL のバージョンは 1.2.10)
Common.Logging.Log4net.dll が testresults 出力フォルダーにコピーされていないことに気付きました - これは問題ですか? もしそうなら、どうすればこれを解決できますか?