Ich habe eine ziemlich große Lösung in Visual Studio. Gibt es eine Möglichkeit, die Major/Minor-Versionsnummern für alle Assemblys in der Lösung auf einmal zu aktualisieren?Aktualisieren der Versionsnummer aller Assemblies in einer Lösung
Antwort
Sie können eine AssemblyInfo.cs-Datei zwischen allen Projekten in der Projektmappe freigeben. Diese freigegebene Datei sollte die Versionsnummern enthalten. Um es zu teilen, müssen Sie Vorhandene Datei in VS hinzufügen und im Dateidialog Als Link hinzufügen auswählen. Jedes Projekt hat seine private und die gemeinsame AssemblyInfo.cs. Der private enthält immer noch die Nicht-Version-Attribute.
Ich habe ein TeamCity-Setup, wo ich die gemeinsame Datei in jedem TeamCity-Build mit der tatsächlichen Build-Version erzeuge und es funktioniert wunderbar.
Suchen/Ersetzen?
Die Versionsnummern werden schließlich in Textdateien gespeichert (AssemblyInfo.cs im Ordner Eigenschaften für jedes Projekt).
Das ist alles funktionieren würde, wenn die Baugruppen in der gleichen Dur/Moll-Version sind. Leider sind meine überall :) – PaulB
Möchten Sie nur erhöhen, oder machen Sie alle gleich? Weil Sie einfach einen regulären Ausdruck verwenden können, um alle zu finden, selbst wenn sie unterschiedliche Zahlen haben. –
Hier wäre einer, der funktionieren würde: \\ [Assembly: \ s + AssemblyVersion \\ ("\ d + \. \ D + \. \ D + \. \ D +" \\) \\] –
Wir haben eine einzige AssemblyInfoCommon.cs, die die Versionsnummern hat, und ist in jedem Projekt als Referenz enthalten. Die anderen AssemblyInfo.cs-Dateien verbleiben, enthalten jedoch nur die assembly-spezifischen Informationen (Titel und Beschreibung). Daher haben wir nur eine Datei für jedes C# -Projekt zu aktualisieren.
Sie können auch eine öffentliche const-Zeichenfolge in einer Ihrer Klassen haben, die die Build-Nummer darstellt, und sie in allen AssemblyInfo.cs für die verschiedenen Projekte verwenden. Natürlich müsste dies in einem Projekt sein, auf das alle anderen Projekte verweisen, um zu arbeiten.
Es ist eine gute Option, wenn Sie nicht die Idee mögen, in allen Ihren Projekten auf die gleiche AssemblyInfo.cs zu verweisen.
Bearbeiten: Hinweis! Dies funktioniert auch, wenn Sie mehrere Sprachen verwenden (F # und C# in meinem Fall).
Es gibt ein sehr nützliches Programm, das ich vor einiger Zeit an einem Projekt verwendet, das hoch verwaltete Versionierung erforderlich:
http://www.codeproject.com/KB/macros/versioningcontrolledbuild.aspx
Sie können auch einige „Kern“ Assembly erstellen, und fügen Sie in jede Ihrer Montagereferenz "Kern" -Aufbau. "Kern" -Aufbau wird konstant konstant bleiben. In diesem Fall wird in jeder Assembly-Infodatei eine Assembly-Version von der "core" -Konstante festgelegt. Zum Beispiel:
"Kern" Baugruppe hat Datei Ver.cs mit Konstante: public const Zeichenfolge Wert = "0.0.0.99";
in jeder Lösung Montag info wird: [assembly: Assembly (Ver.Value)]
- 1. Liste aller verfügbaren .NET-Assemblies
- 2. Bewährte Verfahren zum Referenzieren benutzerdefinierter Bibliotheks-Assemblies in einer Lösung
- 3. Benennung: Lösung, Projekte, Namespaces und Assemblies
- 4. Eloquent - Aktualisieren aller Modelle in einer Sammlung
- 5. Wiederherstellen aller Nuget-Pakete in einer Visual Studio 2015-Lösung
- 6. Visual Studio: Drucken aller Quelldateien in einer Lösung?
- 7. Auflisten der Projekte/Assemblys einer Lösung
- 8. Versionsnummer einer DLL in .NET
- 9. So aktualisieren Sie die Versionsnummer der nativen App
- 10. Abrufen aller Typen mit Roslyn innerhalb einer Lösung
- 11. Wie erhalten Sie die Assemblies für jedes Projekt in einer Lösung ohne Referenzen?
- 12. Eine Zeichenfolge in einer MSI/WiX-Versionsnummer
- 13. StructureMap und Scan Assemblies
- 14. java.lang.UnsupportedClassVersionError: Falsche Versionsnummer in der .class-Datei?
- 15. Friend Assemblies in C#
- 16. Wie kann TeamCity die Build-Versionsnummer in einer bestimmten Datei aktualisieren?
- 17. Suche nach der XCode-SVN-Versionsnummer
- 18. Azure ARM Scale Set - Implementieren und Aktualisieren der Lösung
- 19. Aktualisieren der Umgebungsvariablen für die offene VS-Lösung
- 20. C# Versionsnummer über Umgebungsvariable zuweisen
- 21. TortoiseSVN/VisualSVN Server Versionsnummer in Dateiname
- 22. Wie kann ich die Build-Versionsnummer mit der Versionsnummer der ausführbaren Datei synchronisieren?
- 23. ASP.NET MVC Kompilieren Ansichten in separaten Assemblies
- 24. Ersetzen aller index.html-Dateien in einer Verzeichnisstruktur
- 25. Ändern sich .NET-Assemblies jemals?
- 26. Binding Context in Assemblies verstehen
- 27. mit .NET-Assemblies in Delphi
- 28. Expression_Host Assemblies wachsen in Zahlen
- 29. Laden aller referenzierten Assemblies. NET auch wenn nicht explizit in Code
- 30. Öffnen einer Lösung von TFS
Ich neige dazu, die gemeinsame Datei aufzurufen " SolutionInfo.cs "auch mit Dingen wie dem Urheberrecht darin, und gespeichert als ein Lösungsartikel für SCM mit allen Projekten, die zu ihm ebenso verbinden. – Richard
Ich nannte die Datei VersionInfo in meinem Fall :) – grover
Das ist so brillant einfach (und brillant brillant), und so eine große Gewohnheit, im Allgemeinen zu kultivieren. Vielen Dank. – GregRos