fluentnhibernate和nhibernate验证器版本错误

时间:2010-03-12 15:35:29

标签: nhibernate fluent-nhibernate nhibernate-validator

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

3 个答案:

答案 0 :(得分:5)

1)重新编译是一个选项,这将允许您在没有装配问题的情况下使用这两个选项。

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

执行此操作

(你可以找到更多相关信息here

<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>

答案 1 :(得分:0)

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

要获取最新版本的FluentNHibernate,请转到build server at CodeBetter.com

要获取最新版本的NHibernate.Validator,请转到nhibernate.info

答案 2 :(得分:0)

不是说它会解决您的问题,但您考虑过FluentValidation。不过,听起来你有一个请求特定版本DLL的引用。