Laden...

Wie aktualisiere ich die Version vor dem Release bei größeren Projekten?

Erstellt von JimStark vor 3 Jahren Letzter Beitrag vor 3 Jahren 951 Views
JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren
Wie aktualisiere ich die Version vor dem Release bei größeren Projekten?

Hi,

angenommen ich habe eine Anwendung, die aus einer Projektmappe mit einer ASP.NET Core Anwendung und entsprechend vielen Bibliotheken besteht.

Geht man beim Release Build dann alle Assemblyversionen durch und ändert die oder wie automatisiert/standardisert man das am besten?

Am liebsten hätte ich einen Versionsstring z.B. "2020_V7_0001". Wie implementiert sowas? Extra ne Bibliothek die sich um die Versionierung und evtl. Updateprüfung kümmert?

16.835 Beiträge seit 2008
vor 3 Jahren

Assemblies werden i.d.R. seperat versioniert.
Dass Du alles in einer Projektmappe hast in einem "großen Repository" hat meist nachteile - vor allem später in Sachen Versionierung und Wiederverwandbarkeit Projektübergreifend.

Automatisch kann man das zB. auf Basis der Git Commits machen.
Verbreitet (vor allem im .NET Umfeld) sind vor allem GitVersion und GitVersioning.
Das setzt jedoch prinzipiell voraus, dass man auch richtig mit Git und dem GitHubFlow umgeht.

Letzten Endes sind das nur sehr wenige Zeilen Code, die man für solch einen Automatismus braucht und lohnt sich daher immer.

GitVersion Beispiel mit Azure DevOps:
https://github.com/BenjaminAbt/Twitch.MediatR/blob/master/GitVersion.yml

GitVersioning Beispiel mit GitHub Actions:
https://github.com/BenjaminAbt/hcaptcha/blob/master/version.json

Ansonsten kannst Du einfach auf die Build-Variablen Deiner gewünschten Buildumgebung (GitHub, Azure DevOps, Jenkins, GitHub...) zurück greifen.
Das ist überall möglich.

PS: auch Versions-Namen sind technologieübergeifend standardisiert. Dein gewünschter Name missachtet den Standard.
https://semver.org/

JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren

Vielen Dank für die Informationen!
Versteh ich das richtig, das überschreibt beim Build dann die einzelnen Assemblyversionen?
In der Anwendung selbst greif ich wie normal auf die Versionsinformationen zu?

16.835 Beiträge seit 2008
vor 3 Jahren

Werf doch einfach mal einen kurzen Blick in deren Dokus - dann wären die Fragen binnen weniger Momente beantwortet gewesen:
GitVersioning - .NET support

So schwer ne Doku zu lesen ist es echt nicht...das ist nicht mal ne halbe Din A4 Seite.

JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren

Nein leider nicht,

hab es aber gefunden, falls es mal jemand brauchen sollte:
https://stackoverflow.com/questions/7770068/get-the-net-assemblys-assemblyinformationalversion-value

16.835 Beiträge seit 2008
vor 3 Jahren

Exakt das beantwortet der Link in meinem letzten Beitrag.

This allows you to actually write source code that can refer to the exact build number your assembly will be assigned.

JimStark Themenstarter:in
309 Beiträge seit 2020
vor 3 Jahren

Ja aber als Anfänger kommt man da halt nicht sofort von allein drauf 😉

Trotzdem danke