Dynamische Versionsnummer anhand des aktuellen Datums
Beschreibung
CSharp bietet dem Entwickler die Möglichkeit einer komplexen Versionierung.
In Wikipedia wird dies entsprechend beschrieben: https://de.wikipedia.org/wiki/Versionsnummer
Automatische Versionsnummer anhand eines Erst-Release-Datums
Über ein "Script", welches in dem Projekt gespeichert wird, kann eine automatische Berechnung anhand des ersten Release-Datums erfolgen.
Im Root-Ordner des Projektes werden zwei Dateien Version.cs und Version.tt angelegt
Version.tt
Diese Datei wird für eine neue Version in Visual Studio geöffnet und erneut gespeichert. Automatisch wird die folgende Datei Version.cs mit einer neuen Versionsnummer angepasst.
<#@ template language="C#" #>
//
// This code was generated by a tool. Any changes made manually will be lost
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("1.1.<#= this.RevisionNumber #>.<#= this.BuildNumber #>")]
[assembly: AssemblyFileVersion("1.1.<#= this.RevisionNumber #>.<#= this.BuildNumber #>")]
<#+
int BuildNumber = (int)(DateTime.UtcNow - new DateTime(2014,2,6)).TotalDays;
int RevisionNumber = (int)(DateTime.UtcNow - new DateTime(DateTime.UtcNow.Year,DateTime.UtcNow.Month,DateTime.UtcNow.Day,0,0,0)).TotalMinutes;
#>
Version.cs
Diese Datei wird automatisch angepasst.
//
// This code was generated by a tool. Any changes made manually will be lost
// the next time this code is regenerated.
//
using System.Reflection;
[assembly: AssemblyVersion("1.1.211.759")]
[assembly: AssemblyFileVersion("1.1.211.759")]
AssemblyInfo.cs
Die Versionseinträge in der AssemblyInfo.cs-Datei müssen natürlich aus kommentiert werden.
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Revision
// Buildnummer
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
// übernehmen, indem Sie "*" eingeben:
//[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
No Comments