C# verzió inkrementálás .NET Core 2-től

Hirdetés

A régebbi, főleg a .NET Framework (4.8-ig bezárólag) használói valószínűleg megjegyezték, hogy a produktum automatikus verziózása egyszerűen megoldható volt a projekt tulajdonságai között az assembly verziót átírni (pl.) 1.0.* formátumra és az utrolsó két szekció automatikusan inkrementálódott (pl. 1.0.xxxx.yyyy).

.NET Core áthidaló megoldás

Na, ez a megoldás a .NET Core 2-től (a hibrid 5.0-t is beleértve) nem, vagy legalábbis nem pont így működik. De erre is van megoldás.

Amivel biztosan működik

.NET Core 2, 3 esetén, valamint a .NET 5.0 framework verziók esetében egészen biztosan működik az alábbi trükk.

Ehhez két fájlt kell módosítani, lehetőleg külső editorral, miközben a Visual Studio-ban az adott projektünk be van zárva.

A projektfájl (.jcsproj)

Ez egy XML fájl lesz, melyben kell lennie egy PropertyGroup csomópontnak, az itt lévő többi tulajdonság változtatása nélkül kell beszúrni a két, alábbi tulajdonságot. Mentsük a fájlt és zárjuk be.


	…
	False
	False
	…

A program class (program.cs)

Azt a program.cs fájl kell még editálnunk, amelyben a Main() metódus található.

Ide szúrjuk be az alábbi sort, az using szekció alá, annak utolsó sorát követő új sorba.

[assembly: System.Reflection.AssemblyVersionAttribute("1.0.*")]

Innentől kezdve minden build esetén inkrementálódik a verziószám utolsó szekciója, az utolsó előtti pedig minden nap fog új kombinációt kapni.