Estoy creando mi primer paquete nuget. Agregué una dependencia con una versión que no es la última versión. Sin embargo, no quiero actualizar a la última versión de esta dependencia. ¿Es posible indicarle que use la versión específica?
<dependencies>
<dependency id="NHibernate" version="3.2.0.3001" />
</dependencies>
Cuando instalo el paquete, veo esto:
Attempting to resolve dependency 'NHibernate (≥ 3.2.0.3001)'.
Esto crea lo siguiente cuando instalo el paquete.
<packages>
<package id="Iesi.Collections" version="3.2.0.4000" />
<package id="NHibernate" version="3.2.0.4000" />
</packages>
Realmente me gustaría ver algo como esto: Intentar resolver la dependencia 'NHibernate (3.2.0.3001)'.
c#
.net
nuget
nuget-package
devlife
fuente
fuente
Respuestas:
Debería poder forzar una versión exacta con corchetes:
<dependency id="NHibernate" version="[3.2.0.3001]" />
La información completa sobre los formatos que puede usar se encuentra en el sitio de NuGet, aquí:
http://docs.nuget.org/docs/reference/version-range-specification
fuente
Desde el sitio de documentos de NuGet , las notaciones completas:
fuente
Desde el lado del usuario, también puede restringir la actualización especificando allowVersions en packages.config. http://docs.nuget.org/docs/reference/versioning#Constraining_Upgrades_To_Allowed_Versions
fuente
Según http://nuget.codeplex.com/wikipage?title=Dependency%20Resolution y otras fuentes, simplemente especificando el límite inferior como
<dependencies> <dependency id="NHibernate" version="3.2.0.3001" /> </dependencies>
dará como resultado el nivel de revisión / parche más alto de la versión principal / menor más baja que coincida con esa versión.
A menos que no entienda completamente la documentación, esto coincidiría con la versión 3.2. * Más alta, pero no con la 3.3. * O versiones superiores, a menos que no se pueda encontrar una versión 3.2. *.
Si hay alguna razón por la que 3.2.0.3001 es la única versión de la que desea depender, puede encontrar que su paquete no es compatible con otros paquetes que también dependen de NHibernate, por ejemplo, porque el otro paquete depende de NHibernate [3.2.0.3002 , 3.3) lo que significa al menos 3.2.0.3002 pero menor que 3.3.
fuente