2010-12-23 33 views
19

我是一名Java開發人員,剛剛開始學習C#以開發一對夫婦項目。我很高興地看到,我習慣使用的許多Java框架(log4j,ant,hibernate等)都有它們的.net版本(log4net,nant,nhibernate)。Log4net引用程序集依賴項問題

我剛剛創建了一個項目,並試圖把它log4net的裝配基準,但我有以下警告(後面4個錯誤通知不承認log4net的命名空間和類):

的引用集結號「log4net的」 無法得到解決,因爲它的「System.Web程序, 版本= 4.0.0.0,文化=中立, 公鑰= b03f5f7f11d50a3a」這 不是當前目標 框架 」一 依賴。 NETFramework,版本= V4.0,外形=客戶」。 請刪除對不在目標框架中的組件 的引用或者 考慮重新定位您的項目。

我添加了對System.Web.ApplicationServicesSystem.Web.Services的引用,但它不起作用。任何幫助解決這個依賴性問題將不勝感激。

感謝

回答

28

UPDATE

如果你仍然收到此錯誤,您正在使用了過期的版本log4net的,你應該考慮更新到current version,這不不需要完整的.NET 4.0框架。感謝@Philippe在評論中指出了這一點。


您的項目引用.NET 4.0 客戶端配置文件不包括的System.Web;您實際上需要參考完整的框架。

有關說明,請參見MSDN上的How To: Target a Specific .NET Framework Version or Profile

  1. 在Visual Studio中,打開您想要更改的項目。
  2. 右鍵單擊解決方案資源管理器中的項目,然後單擊屬性。
  3. 在Project Designer中,找到Target Framework列表,如下所示。

    • 對於Visual Basic項目,單擊編譯選項卡,然後單擊 高級編譯選項。目標 框架列表位於高級 編譯器設置對話框中。
    • 對於Visual C#項目,目標框架列表位於項目 Designer的 「應用程序」選項卡上。有關更多信息,請參閱 應用程序頁面,項目設計器 (C#)。
    • 對於Visual F#項目,目標框架列表位於項目 Designer的 「應用程序」選項卡上。
  4. 在目標框架列表中,選擇您需要的.NET Framework版本或 配置文件。當您點擊 OK,項目卸載,然後 重新加載到集成開發環境(IDE) 中。現在項目 的目標是您剛剛選擇的.NET Framework版本 。

還可能感興趣的是Troubleshooting .NET Framework Targeting Errors

+0

這非常有幫助。我在安裝Visual Studio 2010後創建的第一個項目默認將目標設置爲客戶端配置文件 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2012-05-31 03:56:12

6

將項目設置爲在項目屬性對話框中定位「.Net 4.0 Framework」,而不是「.Net 4.0 Framework Client Profile」。

1

只是小小的更新。 這個問題已經在3年前被記錄下來,並在本月剛剛修復。所以log4net的下一個版本(在1.2.10之後)應該可以和客戶端配置文件框架一起工作。

https://issues.apache.org/jira/browse/LOG4NET-174

0

作爲參考爲將來的用戶:

不要忘了也INSTALL你的目標框架! (我,我自己以爲,因爲所有的文件夾(v4.0x,v2.0X等)都在那裏,我有所有的框架,而不是! 事實證明,我只有NET 4.0 客戶端配置文件安裝我的系統,無法找到System.Web程序,即使正確的框架是針對

無論如何,在這裏下載你需要的.NET Framework: .NET Frameworks Microsoft Downloads

1

如果您正在使用1.2.11版本得到這個錯誤並且您不想更改項目框架,只需安裝客戶端配置文件的版本即可。該文件位於二進制分發版的net-cp文件夾中。