下工作,我在管理使用的NuGet獲得Common.Logging.Log4Net一個C#項目的構建。單元測試都沒有錯誤傳遞從Visual Studio 2010中運行時,但是當我使用MSTest的命令行運行(因此當TeamCity的不一樣),我得到的失敗時,單元測試HIST一類,這是否:log4net的不是MSTest的
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:\顛覆\項目\ MyProject.Tests.Unit \ BIN \調試\ TestResults \ rac_DWM300619 2012-10- 30 11_58_34 \輸出\ MyProject.Tests.Unit.dll.config線168)---> Common.Logging.ConfigurationException:無法創建 類型'Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4net'---> System.IO.FileNotFoundException:無法加載文件或 程序集'Common.Logging.Log4net'或其某個依賴關係。系統找不到 指定的文件。
我使用以下的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輸出文件夾 - 這是問題嗎?如果是這樣,我該如何解決這個問題?
確保'Common.Logging.Log4net'組件複製到該目錄的試運行在那裏。 – Steven
是的,但如何? Common.Logging.dll被複制,但Common.Logging.Log4net.dll不是。 – RCross
從您的應用程序中添加對程序集的引用。 – Steven