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?
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/
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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?
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Nein leider nicht,
hab es aber gefunden, falls es mal jemand brauchen sollte:
https://stackoverflow.com/questions/7770068/get-the-net-assemblys-assemblyinformationalversion-value
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ja aber als Anfänger kommt man da halt nicht sofort von allein drauf 😉
Trotzdem danke