AssemblyVersion automatisch erhöhen

AssemblyVersion automatisch erhöhen

Oft ist es erwünscht, dass die Assembly Version für eure Anwendung beim erstellen automatisch erhöht werden soll.
Dazu gibt es in VisualStudio bereits einen vorgefertigten Mechanismus.

Geht in die Projekt-Eigenschaften unter Anwendung und öffnet dort die Assemblyinformationen.
Im Popup könnt ihr nun unter Assemblyversion die letzten beiden Teile der Version (Build, Revision) wie folgt ersetzen:







Bei beiden Varianten wird dann für euch von MS-Build eine dynamische Version erzeugt. Leider sind diese Versionen eher zufällig.
Was ich erreichen möchte, ist eine kontrollierte Erhöhung der Version, bei jedem Release Build um exakt 1.

Dazu habe ich mir eine kleine Konsolen-Anwendung geschrieben, die genau dieses Vorhaben ermöglicht.
Die Anwendung wird gestartet und bekommt lediglich den Pfad zu meinem Projekt übergeben. Ein Aufruf sähe also wie folgt aus:

IncrementAssemblyVersion.exe My\Solution\Path

Damit diese Aufgabe, automatisch bei jeden Release-Build durchgeführt wird, habe ich die Post Build Actions angepasst:



Nun wird bei jedem Release Build automatisch die AssemblyVersion um exakt eins erhöht. Dabei wird nur der Build Teil erhöht.
Sollte der Build Teil größer 999 sein, so wird der Minor Teil erhöht und der Build Teil zurückgesetzt auf 0.

int major = Convert.ToInt32(assemblyVersionMatch.Groups[1].Value);
int minor = Convert.ToInt32(assemblyVersionMatch.Groups[2].Value);
int build = Convert.ToInt32(assemblyVersionMatch.Groups[3].Value);
int revision = Convert.ToInt32(assemblyVersionMatch.Groups[4].Value);

build++;
if (build > MaxBuildVersion)
{
    minor++;
    build = 0;
}

Die Informationen werden im Ausgabefenster von Visual Studio eingeblendet:



Hier könnt ihr den Source Code meiner Anwendung herunterladen:
/Uploads/IncrementAssemblyVersion.zip
Um einen Kommentar zu hinterlassen, ist eine Anmeldung erforderlich.