一. 首先,重新编译 NHibernate 程序集
1. 手工生成包装程序集密匙文件 NHibernate.snk
从命令行输入:
"C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin/sn.exe" -k NHibernate.snk
把生成的 NHibernate.snk 放到以下目录中:
1. src 目录
2. src/NHibernate/obj 目录
3. src/NHibernate/obj/Debug 目录
注意:该密匙文件的文件名和路径也可以在项目的属性页中设定,或者在 AssemblyInfo.cs 中添加以下行:[assembly: AssemblyKeyFileAttribute(@"../NHibernate.snk")]
其中路径是相对项目所在目录而言的相对路径。
2. 打开 NHibernate-1.1.sln 解决方案。
3. 在项目属性页中的 通用属性 >> 常规 >> 包装程序集密钥文件 中设定为 ../NHibernate.snk
4. 重新编译 NHibernate-1.1 项目。
二. 然后,从 NHibernate 的 SourceForge 子站下载 NHibernateContrib 类库
三. 以下是集成工作
1. 在 NHibernate-1.1 项目中建立文件夹 JetDriver
2. 复制 NHibernateContrib-1.0.2.0/src/JetDriver 中除 AssemblyInfo.cs 外的 *.cs 到 NHibernate-1.1 项目的 JetDriver 文件夹中
3. 在 VS.NET 点选 NHibernate-1.1 项目名称,从 VS.NET“项目”菜单中选择“显示所有文件”
4. 找到 JetDriver,右键点出弹出菜单,选择“包括在项目中”,再执行一次“显示所有文件”
这时就把 JetDriver 都包含进主项目了。
四. 以下是修正 JetDriver 操作 Access 日期时间类型的一个 Bug :
*NHibernate访问Access数据库出现标准表达式中数据类型不匹配的解决
1. 打开 NHibernate.JetDriver.JetDbCommand.cs
2. 把“dd-MMM-yyyy HH:mm:ss”替换为“dd-MM-yyyy HH:mm:ss”,原文多了一个 M。
3. 重新编译 NHibernate-1.1 项目。