Con respecto a convención, el propio software de NuGet, y la semántica se aplica a los paquetes en la galería, lo hace de versiones como se describe por SemVer. Específicamente, puede designar versiones beta al agregar como sufijo el número de versión de nuspec con "-beta.4" o algo así. Por ejemplo, vea cómo la galería muestra the latest version of AutoFac, y compare cómo muestra an old release ( tenga en cuenta el texto "Esta no es la última versión de Autofac disponible."Editar: La galería ya no parece proporcionar ningún mensaje especial para no -actuales versiones) y an old PRE-release version (con el texto "Esta es una versión preliminar de Autofac.").
Desafortunadamente, el AssemblyVersion
en AssemblyInfo.cs
no puede contener letras ni guiones, por lo que no se puede usar de esta manera. Sin embargo, el AssemblyInformationalVersion
PUEDE tener letras y guiones y, si lo proporciona, NuGet lo usará en lugar del AssemblyVersion
para reemplazar el token $version$
en su archivo nuspec. Además, el AssemblyInformationalVersion
(también llamado la "Versión del producto" si verifica los detalles de una DLL en el explorador de Windows), al menos para mí, representa mejor lo que la versión de NuGet debe coincidir.
Tengo una ligera preocupación con este enfoque, ya que se espera que deje AssemblyVersion
de la misma manera a través de varias iteraciones beta y una iteración de producción final de AssemblyInformationalVersion
, lo que significa que estoy permitiendo varias versiones diferentes de mi DLL en el comodín que puede comportarse de manera diferente o incorrecta, sin embargo, son idénticos en lo que respecta al CLR (el CLR solo se preocupa por AssemblyVersion
). En la práctica, sin embargo, esto sucede con frecuencia (incluso con los paquetes AutoFac descritos anteriormente) y no parece causar un problema.
Consulte las dos excelentes respuestas más votadas para What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion? para obtener más información sobre AssemblyInformationalVersion
y sus amigos.