2011-01-23 11 views
17

Acabo de actualizar mi proyecto para usar NuGet para referencias externas. Agregué una referencia a NHibernate, que agregó todas las demás dependencias para NH. Luego agregué FluentNHibernate. Las versiones de NH descargadas para NH y Fluido no coinciden. NuGet muestra la versión de FNH como 1.1.1.694 como dependiente de NH versión 3.0.0.0.2001, mientras que NH se muestra como la versión 3.0.0.4000.FluentNHibernate y NuGet, problema con la versión NH

Cuando ejecuto la aplicación, me sale este mensaje:

No se pudo cargar el archivo o ensamblado 'NHibernate, versión = 3.0.0.2001, Culture = neutral, PublicKeyToken = aa95f207798dfdb4' o uno de sus dependencias. La definición del manifiesto del ensamblaje ubicado no coincide con la referencia de ensamblaje. (Excepción de HRESULT: 0x80131040)

También probé la descarga desde la HNF sitio, pero que muestra que es la versión 1.1.0.685 en HNF es que depende 2.1.2.4000.

¿Puedes arreglar NuGet, o debería simplemente usar BindingRedirect en config?

+0

Personalmente he renunciado a NuGet, los repositorios están por todas partes y desactualizados. – Phill

+0

@Phil: ¿De verdad? Acabo de hacer un cambio pensando que sería más fácil administrar mis dependencias – epitka

+3

La mayoría de los paquetes están actualizados. Algunos todavía no tienen propietarios oficiales, pero esto está cambiando rápidamente a medida que crece la adopción. –

Respuesta

18

¡Estás de enhorabuena! NuGet tiene un comando solo para este escenario (que planeamos hacer más automático en el futuro http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.html). En primer lugar construir su proyecto y del paquete tipo de consola de administrador:

PM> Add-BindingRedirect 

y agregará el conjunto mínimo de redirecciones unión a config para conseguir que todo funcione.

+1

El comando es en realidad _Add-BindingRedirects_ en versiones anteriores a v1.1 ... falta la "s". – cdeszaq

+0

@cdeszaq: Tendré que intentar eso. Por ahora acabo de agregar manualmente la redirección en el archivo de configuración. Es bueno saber sobre la opción. – epitka

+0

FYI, el comando era plural en 1.0, pero cambió a singular en 1.1 (para mí, más PowerShell 'correcto'). –

Cuestiones relacionadas