5

我们有一个项目使用 FluentNibernate 来映射实体。现在我需要为这些地图添加一些格式验证。对于 Nullable、Length 等,我们目前正在使用映射。我将 NHibernate Validator 添加到项目中,但收到有关需要 NHibernate 版本 2.1.2.4000 的编译时错误。所以我升级到那个版本只是为了得到一个运行时错误,指出它找不到 NHibernate 2.1.0.4000。我可以编写扩展方法来使用 FluentNibernate 进行验证吗?我是否必须使用相同版本的 NHibernate 重新编译两者?首选方法是使用这些版本。任何其他设备将不胜感激。

4

3 回答 3

5

1) 重新编译是一种选择,这将允许您使用这两种方法而不会出现汇编问题。

2)另一个是程序集绑定重定向,任何对早期版本的 NHibernate 的调用都可以强制转到您拥有的版本。你可以用你的 app.conifg / web.conifg 做到这一点

(你可以在这里找到更多关于它的信息)

<configuration>
       <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
             <dependentAssembly>
                <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4"/>
                <bindingRedirect oldVersion="2.1.0.4000" newVersion="2.1.2.4000"/>
             </dependentAssembly>
          </assemblyBinding>
       </runtime>
</configuration>
于 2010-03-16T20:35:15.203 回答
0

最新版本 NHibernate.Validator 1.2.0 CR1 和 FluentNHibernate 1.0.0.632 都是针对 NHibernate 2.1.2.4000 构建的。

要获取最新版本的 FluentNHibernate,请访问CodeBetter.com 上的构建服务器

要获取最新版本的 NHibernate.Validator,请访问nhibernate.info

于 2010-03-18T22:35:14.283 回答
0

并不是说它会解决您的问题,而是您是否考虑过 FluentValidation。不过,听起来您在某处获得了要求特定版本 DLL 的参考。

于 2010-03-19T23:50:46.003 回答