我们使用FluentNibernate到实体映射有一个项目。现在我需要一些格式验证添加到这些地图。对于可为空,长度和这样的,我们目前正在使用的映射。我加了NHibernate的验证器项目,却收到一个编译时错误约需要NHibernate的版本2.1.2.4000。所以我升级到该版本只是为了获得一个运行时错误,指出它无法找到的NHibernate 2.1.0.4000。我可以写扩展方法做使用FluentNibernate验证?难道我都使用NHibernate的同一版本重新编译?优选的方法将是使用它们的释放。的任何其它装置将理解的。

有帮助吗?

解决方案

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>

其他提示

不,它会解决你的问题,但你有没有考虑 FluentValidation 。不过,听起来像是你有什么地方的引用请求的DLL的特定版本。

在最新版本,NHibernate.Validator 1.2.0 CR1和FluentNHibernate 1.0.0.632,都对建立NHibernate的2.1.2.4000。

要获得最新版本的FluentNHibernate的,转到构建服务器在CodeBetter.com

要获得最新版本的NHibernate.Validator的,去 nhibernate.info

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top