2010-03-12 15 views
5

Tenemos un proyecto que utiliza FluentNibernate para mapear las entidades. Ahora necesito agregar algo de validación de formato a estos mapas. Para Nullable, Length y tal, actualmente estamos usando las asignaciones. Agregué NHibernate Validator al proyecto, pero recibí un error de tiempo de compilación sobre la necesidad de NHibernate versión 2.1.2.4000. Así que actualicé a esa versión solo para obtener un error de tiempo de ejecución que indicaba que no podía encontrar NHibernate 2.1.0.4000. ¿Podría escribir métodos de extensión para hacer la validación usando FluentNibernate? ¿Debo recompilar ambos usando la misma versión de NHibernate? El método preferido sería usar una versión de estos. Cualquier otro dispositivo lo apreciaría.fluentnhibernate and nhibernate validator error error

Respuesta

5

1) Recompilar es una opción, esto le permitiría usar ambos sin los problemas de ensamblaje.

2) Otra sería una redirección de enlace de ensamblaje, cualquier llamada a una versión anterior de NHibernate puede obligar a ir a la versión que tiene. Puede hacer esto con su app.conifg/web.conifg

(se puede encontrar más información sobre ella 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> 
+0

Muchas gracias :) – Pondidum

0

Las últimas versiones, NHibernate.Validator 1.2.0 CR1 y FluentNHibernate 1.0.0.632, ambos están compilados contra NHibernate 2.1.2.4000.

Para obtener la última versión de FluentNHibernate, vaya al build server at CodeBetter.com.

para obtener la última versión de NHibernate.Validator, ir a nhibernate.info.

0

No es que va a arreglar el problema, pero ¿ha considerado FluentValidation. Aún así, parece que tiene una referencia en alguna parte que solicita una versión específica de los archivos DLL.

Cuestiones relacionadas