Pergunta

Temos um projeto usando FluentNibernate para mapear as entidades. Agora eu preciso adicionar alguma validação formato para estes mapas. Para Nullable, Comprimento e como estamos usando atualmente os mapeamentos. Eu adicionei NHibernate validador para o projeto, mas recebeu um erro de tempo de compilação sobre a necessidade NHibernate versão 2.1.2.4000. Então eu atualizado para essa versão apenas para obter um erro de tempo de execução afirmando que não poderia encontrar NHibernate 2.1.0.4000. Eu poderia escrever métodos de extensão para fazer a validação usando FluentNibernate? Eu tenho que recompilar ambos usando a mesma versão do NHibernate? O método preferido seria o de utilizar uma libertação destes. Qualquer outro dispositivo seria apreciado.

Foi útil?

Solução

1) A recompilação é uma opção, isso permitiria que você use tanto destes sem os problemas de montagem.

2) Outra seria um redirecionamento ligação de assembly, todas as chamadas para uma versão anterior do NHibernate você pode forçar a ir para a versão que você tem. Você pode fazer isso com o seu app.conifg / web.conifg

(você pode encontrar mais sobre ele aqui )

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

Outras dicas

Não que isso vai resolver o seu problema, mas você já pensou FluentValidation . Ainda assim, parece que você tem um lugar de referência que solicita uma versão específica das DLLs.

As versões mais recentes, NHibernate.Validator 1.2.0 RC1 e FluentNHibernate 1.0.0.632, são ambos construídos contra NHibernate 2.1.2.4000.

Para obter a versão mais recente do FluentNHibernate, ir para a servidor de compilação no CodeBetter.com .

Para obter a versão mais recente do NHibernate.Validator, vá para nhibernate.info .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top