Demostraciones de versiones
Ejemplos de formas de versionar proyectos .NET Core con y sin implementación continua (CD)
Si clona este sitio y lo ejecuta localmente en los modos Depurar y Lanzar, verá resultados diferentes. Puede visitar una versión en vivo en https://versioningdemos.azurewebsites.net/. Esto pasó por mi Git y VSTS para generar la información de la versión.
Notará que Microsoft tiene diferentes estrategias de control de versiones dentro de sus propias bibliotecas .Net, presumiblemente no de los mismos equipos.
Hay 3 versiones a las que generalmente se hace referencia dentro de un ensamblado de .NET Core
- Versión del archivo: se utiliza para ver qué DLL es posterior.
- Tiene el patrón xybr generalmente considerado Major.Minor.Build.Revision
- Versión del producto: también conocida como versión informativa dentro del ensamblado. Esta es una versión de texto de formato libre que se utiliza con fines descriptivos.
- Actualmente el formato de esto tiende a seguir el patrón de Versionado Semántico (presentado por GitHub)
- xyp-buildinfo Parche.menor.mayor[-metadatos]
- Puedes leer más en semver.org
- Versión de ensamblaje: la versión del ensamblaje
El método normal que ve para recuperar información de la versión solo funciona para algunos casos de uso y se desmorona cuando se coloca en una biblioteca.
Versión de proyectos de muestra
Todos estos proyectos utilizan archivos .vbproj (también podrían ser .csproj) en lugar de las técnicas anteriores que utilizaban AssemblyInfo.cs o project.json.
No hay nada configurado: predeterminado
- El valor predeterminado es 1.0.0
Establecer un valor - Manual
Uso de la interfaz de usuario de Visual Studio (propiedades del proyecto/paquete)
- Incluso si no usa esto para configurar la información, mostrará los valores calculados.
- Tenga cuidado de no anular accidentalmente los valores calculados en otros lugares
- Editando
.csproj
Configuración de todos los valores - Manual.AllDifferent
- Usando la interfaz de usuario de Visual Studio
- Editando
.csproj
Simplemente use VersionPrefix - VersionPrefix
VersiónSuffix - VersiónSuffix
Revisión de compilación - Revisión de compilación
- replicar comodines de compilación y revisión implementando la lógica del patrón de versión de Roslyn
- Utiliza cálculos en el archivo csproj.
ConstruirDateTime - ConstruirDateTime
- usó x.YYYY.MDD.HHMM para crear valores automatizados
Compilación de Visual Studio Team Services: VSTS
- Agregue BUILDNUMBER configurado de VSTS a VersionSuffix
Visual Studio Team Services compilado con la rama Git: VSTS.WithGit
- Agregue también la rama Git al sufijo de versión
Ayudantes de etiquetas
Cuando se utilizan Taghelpers, existen varios problemas.
- Las páginas terminan ubicándose en ensamblajes diferentes de lo que cabría esperar.
- La ejecución en Depuración o Lanzamiento puede dar diferentes valores y ensamblajes creados.
- Poner un TagHelper en una biblioteca externa cambia el resultado del ensamblaje en ejecución actual