c# - Asteriscos de información de la versión de AssemblyInfo
.net (3)
En mi opinión, usando [assembly: AssemblyVersion("xyz*")]
, Patch
no debe numerarse automáticamente. P.ej:
[assembly: AssemblyVersion ("1.2.3. *")]
Usar ''*'' en AssemblyVersion
es bueno, pero siga seemver.org, debemos usar *
para la parte de revision
desde la estructura de la versión <major version>.<minor version>.<build number>.<revision>
).
Dado un número de versión MAJOR.MINOR.PATCH, incremente el:
Versión MAYOR cuando realiza cambios incompatibles de API,
Versión MINOR cuando agrega funcionalidad de una manera compatible con versiones anteriores, y
Versión PATCH cuando haces correcciones de errores compatibles con versiones anteriores.
Dice en AssemblyInfo.cs para proyectos C # que es posible especificar información de versión con *
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the ''*'' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
Lo cambié a esto:
[assembly: AssemblyVersion("1.0.*.*")]
[assembly: AssemblyFileVersion("1.0.*.*")]
y este es el error que obtengo del compilador:
error CS0647: Error emitting ''System.Reflection.AssemblyVersionAttribute'' attribute -- ''The version specified ''1.0.*.*'' is invalid''
warning CS1607: Assembly generation -- The version ''1.0.*.*'' specified for the ''file version'' is not in the normal ''major.minor.build.revision'' format
¿Cómo funciona (¿incluso?) Funciona?
La sintaxis (ver MSDN ) para el número de compilación "automático" puede ser:
[assembly: AssemblyVersion("1.0.0.*")]
o:
[assembly: AssemblyVersion("1.0.*")]
* significa que después de esto todo es automático . No puede tener un número de compilación automático y un número de revisión fijo, entonces esta sintaxis no es correcta:
[assembly: AssemblyVersion("1.0.*.0")]
Para AssemblyFileVersionAttribute
no puede usar el * carácter especial, por lo que debe proporcionar un número de versión completo y válido. Tenga en cuenta que si no proporciona un AssemblyFileVersionAttribute
, obtendrá el FileVersionInfo
correcto automáticamente (con la misma versión de AssemblyVersionAttribute
). Debe especificar ese atributo solo si necesita establecer una versión diferente.
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.*")]
simplemente recuerde comentar la línea AssemblyFileVersion, de lo contrario, la versión del ensamblaje generado automáticamente siempre será "1.0.0.0".