2010-11-19 76 views
0

我從github上下載了最近的Castle.ActiveRecord源代碼。我成功地編譯它針對VS2010(打靶.NET 4.0)引用Castle.ActiveRecord.dll問題

我加入參考Castle.CoreCastle.ActiveRecord.dll組件和使用Castle.ActiveRecord;我簡單的項目(控制檯應用程序,.NET 4.0)

,我得到了下面的編譯錯誤 「的類型或命名空間名稱的ActiveRecord「命名空間中的‘城堡’不存在(是否缺少程序集引用?)」

但這個命名空間,該組件存在(我通過對象瀏覽器)

問題是什麼檢查?

回答

1

Castle.Core和Castle.ActiveRecord都依賴於System.Web。 System.Web不存在於.NET客戶端配置文件(3.5或4)中。進一步看倒在你的編譯錯誤/警告,你會看到:

引用的程序集「Castle.Core」 無法得到解決,因爲它的「System.Web程序, 版= 4.0 依賴.0.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a「其中 不在當前的目標框架中。」.NETFramework,Version = v4.0,Profile = Client「。 請刪除對不在目標框架中的組件 的引用或者 考慮重新定位您的項目。

轉到項目屬性...應用程序...目標框架...並將其切換到「.NET Framework 4」,你應該很好。

+0

謝謝。我的項目目標是「Net Framewrk 4.0客戶端配置文件」。我不明白「Net Framewrk 4.0客戶端配置文件」和「Net Framewrk 4.0」之間的區別。這種不匹配是一個問題。 – VoimiX 2010-11-20 05:15:31

+0

客戶端配置文件是一個精簡版的.NET Framework,它只包含桌面應用程序所需的命名空間/類。因此它具有WPF,WinForms,System.Collections,...的代碼,但省略了ASP.NET等服務器端組件。它爲大多數最終用戶提供了更快的安裝體驗,並且如果稍後需要,可以輕鬆升級到完整的.NET Framework。只是微軟開始提供.NET 3.5 SP1的選項...... – 2010-11-20 06:46:41