C# verzió inkrementálás .NET Core 2-től
◴ 2022.04.08. 08:51A 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.