如何在.NET 4.0中使用Fluent NHibernate?

Tom*_*han 5 .net-4.0 visual-studio-2010 fluent-nhibernate

我想学习使用Fluent NHibernate,我正在使用VS2010 Beta2,针对.NET 4编译,但我遇到了一些问题.

总结
我的主要问题(目前)是FluentNHibernate即使我导入了本指南中提到的所有.dll程序集,命名空间也不可用.

这就是我所做的:
1.我从这里下载了Fluent NHibernate源代码,解压缩.zip并在VS中打开解决方案.一个对话框询问我是否要将解决方案转换为VS2010解决方案,所以我做到了.
2.然后我进入每个项目的属性并配置所有这些属性以编译.NET 4,并构建整个解决方案.
3.我将/bin/Debug/FluentNHibernate中的所有.dll文件复制到本地硬盘上的新文件夹中.
4.在我的例子项目中,我引用FluentNHibernate.dllNHibernate.dll来自新的文件夹.

这是我的问题:
如果我FluentNHibernate在"引用"列表中右键单击并选择"在对象浏览器中查看...",它会正确显示.

现在,当我尝试创建一个映射类时,我无法导入FluentNHibernate.这段代码:

using FluentNHibernate.Mapping;

namespace FluentNHExample.Mappings
{

}
Run Code Online (Sandbox Code Playgroud)

在using语句中生成错误,说

找不到类型或命名空间'FluentNHibernate'(您是否缺少using指令或程序集引用?).

FluentNHibernate组件仍然在我的项目的参考名单,但如果我尝试再次浏览对象浏览器的组件,它不能被发现.

是什么造成的?

小智 6

我也有类似的问题.

显示"错误列表"窗口:

找不到类型或命名空间名称'FluentNHibernate'(您是否缺少using指令或程序集引用?)

但"输出"窗口显示详细信息:

警告MSB3253:无法解析引用的程序集"FluentNHibernate",因为它依赖于"System.Data.OracleClient,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089",它不在当前目标框架中". NETFramework,版本= V4.0,外形=客户".请删除不在目标框架中的程序集的引用或考虑重新定位项目.

就我而言; 我创建了一个控制台应用程序项目,.Net Framework 4 Client Profile默认情况下定位为" ",因此更改为" .Net Framework 4"修复了我的问题.


Chr*_*ers 0

我无法在我的构建中观察到这种行为,是否与此问题有关:Weird override Problem with Fluent NHibernate and .NET 4

如果是这样,您可以尝试http://groups.google.com/group/fluence-nhibernate/browse_thread/thread/ae4013d711d2e4ad作为潜在的解决方案。