c# .net

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".