Autor Beitrag
overdev
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 03.12.14 13:38 
Hallo.
Bin noch ein Anfänger und habe erst ein paar simple Programme geschrieben.
Aktuell programmier ich einen Auflösungsrechner in C# .NET (Win Forms).

Da ich bald ein paar Programme bzw auch zukünftige Programme veröffentliche, möchte ich eine Versionsnummer mit Build haben
und einstellen können.
Das Ganze kann man zwar unter den Projekteinstellungen zum Teil machen, aber ich möchte es ein wenig anders haben.

Ich möchte per Variable einzeln die Hauptversion, Nebenversion und Buildnummer ändern können.
Diese sollten auch in den Projekteinstellungen sich dann ändern.
Bei jeden mal kompilieren sollte sich die Revisionsnummer um eins erhöhen.

Ist es auch möglich eine Nummer in eine Variable zu speichern, die erhöht wird, wenn ich debugge (F5) ?

Außerdem ein speichern des Datums vom letzten kompilieren wäre nicht schlecht.

Damit möchte ich erreichen das im Programm eine gescheite Versionsnummer angezeigt bekomme und ich Changelogs schreiben kann.
Wie zum Beispiel "v 1.0.0:20", "v 1.0.2:60" sowas in der Art.

Google konnte mir in dem speziellen Fall leider nicht weiterhelfen.

Wie erreiche ich so etwas ? Bzw etwas ähnliches.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 03.12.14 14:48 
Hallo,

ganz so wie du es dir vorstellst, geht es nicht.

Zum einen kannst du in der AssemblyInfo.cs folgendes eintragen (bzw. abändern):
ausblenden C#-Quelltext
1:
[assembly: AssemblyVersion("1.0.*")]					

Dann wird bei jedem Build eine neue Build- und Revisionsnummer erstellt (jedoch wird dort u.a. der Tag eingetragen, d.h. nicht unbedingt sequentiell fortlaufend, sondern mit Sprüngen).

Und das 2. wäre über ein Prebuild-Skript die Versionsnummer anzupassen: Customize Your Project Build Process
Unter Automatic Updating of AssemblyFileVersion in C# Projects wird dies mit einem VB-Skript gemacht.