我正在編寫一個面向.NET Framework 4 Client Profile的控制檯應用程序中的代碼。爲什麼log4net 1.2.10需要System.Web?
this.container.AddFacility<LoggingFacility>(
f => f.LogUsing(LoggerImplementation.Log4net));
運行時,它會因類型轉換錯誤而失敗。
無法轉換從 'Castle.Services.Logging.Log4netIntegration.Log4netFactory,Castle.Services.Logging.Log4netIntegration,版本= 2.5.1.0, 文化=中性公鑰= 407dd0808d44fbdc' 到System.Type的 - 也許類型不能 找到
這是因爲Castle.Services.Logging.log4netIntegration組件不會被複制到輸出文件夾。作爲僅運行時依賴項,這不會破壞構建。
看着構建過程,我發現它沒有複製log4net或Castle設施程序集,因爲它們依賴於客戶端配置文件中沒有的System.Web。更改爲標準配置文件意味着此相關性可用,並且可以添加設施。
爲什麼要這樣做?我在控制檯應用程序中的客戶端配置文件的目標是否作爲服務器上的計劃任務使用有什麼不同?
感謝Bronumski。 – 2011-06-09 14:29:41
剛剛下載了最新的二進制文件(1.2.11),它包含與\ bin \ net-cp \ 4.0 \ release中的4.0 Client Profile兼容的版本。只是測試它,並像魅力一樣工作! – SvenG 2012-04-20 09:07:29