nuget - from - Cómo crear una dependencia nuspec que incluya versiones preliminares
publish nuget package to server (1)
Algún contexto:
Tengo 4 paquetes nuget con dependencias. Todos están en modo de prelanzamiento y evolucionan de alfa a "estable" a su propio ritmo. Quiero poder especificar en la definición de dependencia que se deben incluir las versiones preliminares, pero cuando la versión "estable" está disponible, debería actualizarse a la versión estable.
En los documentos de NuGet, las reglas para la creación de versiones definen [
y ]
para incluir el número de versión que especifique y (
y )
para excluir el número de versión que especifique.
Algunos ejemplos sobre el impacto de las versiones en el archivo nuspec:
<dependencies>
<dependency id="MyComponent" version="1.2.0" />
</dependencies>
==> Esto instalará MyComponent 1.2.0 o superior. (sin incluir la versión preliminar 1.2.0-alfa)
<dependencies>
<dependency id="MyComponent" version="[1.2.0" />
</dependencies>
==> Esto instalará MyComponent 1.2.0 o superior. (sin incluir la versión preliminar 1.2.0-alfa)
<dependencies>
<dependency id="MyComponent" version="[1.2.0,2)" />
</dependencies>
==> Esto instalará MyComponent 1.2.0 hasta que no incluya la versión 2.0.0. (sin incluir la versión preliminar 1.2.0-alfa pero incluye la versión preliminar 2.0.0-alfa)
Actualmente pongo:
<dependencies>
<dependency id="MyComponent" version="(1.1.32767" />
</dependencies>
Pero esto me parece muy feo y no refleja realmente la realidad. (¿Qué pasa si existe la versión 1.1.32767.1?)
¿Me gustaría saber cómo especificar que desea incluir versiones preliminares en la versión mínima?
Hay una cosa importante a tener en cuenta:
Dependiendo de un prelanzamiento, el propio paquete producido también es una versión preliminar.
Tiene sentido que, de forma predeterminada, las versiones preliminares se ignoren al definir el rango de dependencias de la versión, ya que alteraría la versión del paquete que se está produciendo (sin saber qué versión elegir).
Idealmente, el algoritmo que verifica el rango de versiones de las dependencias durante la instalación realiza una verificación de si el paquete consumido es un prelanzamiento o no, y luego incluye o excluye las dependencias del prelanzamiento dentro del rango de versiones permitido.
No estoy seguro de si este es el caso actualmente, pero al analizar su pregunta no creo que lo sea. Es posible que desee registrar una solicitud de función (o enviar una solicitud de extracción) en http://nuget.codeplex.com