Versionamiento NET vs Core
Hoy por hoy estamos conviviendo entre 2 tecnologías, el monstruo Framework NET y el cada vez más presente NET Core.
Para ambas el versionamiento; no hablo de tener un repositorio e ir subiendo tus cambios, eso es más que obligado, te estoy hablando de la forma en la que un EXE, Dll, Servicio Web, Etc, tenga su número de versión en producción y su formato
De lo que te estoy hablando es cuando un archivo en sus propiedades tiene el número de versión, así como se muestra a continuación
Es muy necesario conocer su descripción para llevar una buena identificación de tu producto
Formato básico
El formato más básico es el siguiente
Compilado . Corrección o Ajuste . Revisión
Y significan lo siguiente:
Compilado.- Es la versión de tu compilado cuando ya ha sido aprobado y es la más importante, deberá incrementar siempre y cuando exista un modulo nuevo, un cambio que afecte a su estructura o flujo principal
Corrección o ajuste.- Generalmente se incrementa cuando existe una solución a un error y que no haya existido la necesidad de algún modulo nuevo o la modificación al flujo o estructura
Revisión.- Se refiere a que se detectó alguna mejora, algún agregado o adecuación menos significativa; un ejemplo, colocar una nueva línea que escriba en el LOG de tu sistema, cuando inicien sesión
Existe un formato más amplio que se maneja muy a menudo en .NET
Versión principal. Versión secundaria . Número de compilación . Revisión
Que no es más que lo mismo pero con un nivel más que es el numero final de compilación para dar seguimiento; en lo personal, me gusta más el básico
Versión en proyecto .NET
En .NET ha sido muy fácil realizar este control debido a un archivo que viene incluido en cualquier proyecto con visual studio, me refiero a AssemblyInfo ya sea que utilicen C sharp o Visual Basic, lo podrás encontrar dentro de la carpeta Properties de tu proyecto.
Dentro de este archivo podrás encontrar las siguientes propiedades
assembly: AssemblyTitle("")] -> El titulo de tu componente (archivo)
[assembly: AssemblyDescription("")] -> Una descripción breve de lo que hace
[assembly: AssemblyCompany("")] ->el nombre de tu empresa o tu nombre profesional
[assembly: AssemblyProduct("")] -> El nombre de tu producto
[assembly: AssemblyTrademark("")] -> Iniciales de tu marca
y una guía de como será su versionamiento en las propiedades
[assembly: AssemblyVersion("1.0.0.0")] -> la versión de tu ensamblado o compilado
[assembly: AssemblyFileVersion("1.0.0.0")] -> La versión de tu archivo
Nota: algo importante es que en este archivo podemos dejar comentarios sobre cada liberación al final, les recomiendo mucho esta practica para saber qué se está liberando en cada ocasión, un buen ejemplo sería
//Autor Fecha Versión Descripción
//@UMB 26/02/21 1.0.0.0 Se Inicia el proyecto integrando las capas necesarias
Versión en proyecto .NET Core
Aquí es muy distinto dado que desaparecen muchos archivos para optimizar el peso y velocidad, por lo que debemos hacer nuestro control internamente. Aclaro, microsoft menciona que para eso existe la librería descargable por NuGet de nombre Microsoft.AspNetCore.Mvc.Versioning pero aquí muestro la forma que para mi es más sencilla, consistente y que me ha funcionado por años
Consiste en abrir las propiedades del proyecto
En la sección de paquete tendremos lo necesario para realizar nuestro control de versiones con las propiedades por defecto o bien colocamos lo que deseamos
Edición del archivo del proyecto
De la misma forma existe una alternativa para quienes desean llevar un control más exhaustivo, se trata de editar el archivo .csproj. Cabe mencionar que la sección a continuación es de donde proviene la información de la imagen anterior
<PropertyGroup><OutputType>WinExe</OutputType><TargetFramework>net6.0-windows</TargetFramework><Nullable>enable</Nullable><UseWindowsForms>true</UseWindowsForms><ImplicitUsings>enable</ImplicitUsings><PackageReleaseNotes></PackageReleaseNotes><Company>UMB</Company><Version>2.1.0</Version><Description>alguna descripcion</Description><Copyright>UMB</Copyright><AssemblyVersion>1.0.0</AssemblyVersion><FileVersion>1.0.0</FileVersion></PropertyGroup>
Como podrás apreciar es un tanto distinto pero no deja de ser sencillo cuando sabemos organizarnos.
Espero esto te haya sido de ayuda, nos vemos en el siguiente POST
Saludos
0 comentarios:
Publicar un comentario