2010-11-19 37 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