Injizieren assembly-version zahlen zur build-Zeit
Möchte ich ändern Sie die version der assembly Reihe von einem C# - Projekt zu erstellen, indem Sie es als eine Eigenschaft in MSBuild-Befehlszeile.
AssemblyInfo-Task wird, ändern Sie die version der assembly im inneren eine AssemblyInfo.cs vor dem kompilieren. Das ist fast das, was ich will. Das problem ist, ich will nicht AssemblyInfo.cs geändert werden, da der source-control-Fragen. Ich will nicht alle diese AssemplyInfo.cs-Dateien zu zeigen, die geändert wird, und müssen eingecheckt werden jedes mal, wenn wir eine bauen.
Was ich möchte ist, ein "Ding", dass änderungen der assembly, die Versionsnummer nach Zusammenstellung - vielleicht mit einem post-build Weben Aufgabe. Funktioniert so ein "Ding" schon irgendwo vorhanden sein, entweder als open source oder ein retail-Produkt? Wenn nicht, kann mir jemand zeigen, um die Dokumentation für das schreiben eines post-build weaver Aufgabe?
InformationsquelleAutor Charles | 2011-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da die
AssemblyVersion
bekommen hat gekocht in Ihre Versammlung zur compile-Zeit, dieAssemblyInfo.cs
- Datei mit der aktuellen build-Nummer gehört in die Quellcodeverwaltung ein.Wenn Ihr Problem mit der Speicherung dieser in der Quellcodeverwaltung ist, weil Sie nicht wollen, Tonnen von Dateien, die aktualisiert werden müssen, versuchen Sie dies.
Können Sie verbindungen in Ihre Lösung so, dass alle Projekte eine einzige Datei, z.B.
SharedAssemblyInfo.cs
. Hier ist eine Seite mit einer Beschreibung dieses Prozesses:http://blogs.msdn.com/b/jjameson/archive/2009/04/03/shared-assembly-info-in-visual-studio-projects.aspx
Können Sie die
SharedAssemblyInfo.cs
- Datei mit dem AssemblyInfo-task , Sie wissen schon, und das ist die einzige Datei, die überprüft werden muss, wieder in die Quellcodeverwaltung ein.Gute Antwort und einen wertvollen Kommentar von Spider-M9 - ich möchte hinzufügen, dass, während es möglicherweise nicht wünschenswert, zu haben churn-source-control in Bezug auf die Nummerierung der version, die Reproduzierbarkeit ist extrem wichtig. Ich mache die Annahme, dass Sie ändern die Version der Assembly, nicht nur die Baugruppe Datei Version... Wenn Sie stark sind-benennen Sie die Baugruppen, die Auswirkungen der änderung eine Versionsnummer einer assembly können significanly Einfluss auf das Verhalten Ihrer Anwendung. Als solche, diese muss verfolgt werden, die in irgendeiner Weise - genau das, was die source-control ist für.
InformationsquelleAutor bentsai
Können Sie die WriteCodeFragment Aufgabe zu generieren, die bei jedem build eine neue source-Datei (mit der vielleicht _AssemblyInfo.cs), die nicht in source control und enthält nur die AssemblyVersion-Attribut. Fügen Sie die _AssemblyInfo.cs-Datei, um das Projekt in der Regel und erzeugen einer benutzerdefinierten Ziel, die ausgeführt wird, vor dem Build-Schritt. Das wäre weniger aufdringlich als die Manipulation der Montage, nachdem Sie haben es gebaut.
InformationsquelleAutor Brian Kretzler
Versuchen Sie, die AssemblyVersion in Ihrem AssemblyInfo.cs-Datei wie folgt:
Es sollte erhöhen Sie Ihre AssemblyVersion mit jedem build, wenn sich etwas geändert hat.
Auch jedem build ändern würde-version, während wir möchten, ändern Sie die version-Nummer nur, wenn code geändert hat. Die vorgeschlagene Lösung erzeugt auch unterschiedliche version für Debug und Release, während die app funcianality ist genau das gleiche 😉
InformationsquelleAutor Andrew
Könnte es am besten, um eine andere Datei eingecheckt und erstellen Sie eine AssemblyInfo.cs aus mit http://code.mattgriffith.net/UpdateVersion/ oder sowas in der Art von Subversion http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html
InformationsquelleAutor kenny
Ich denke, das ist das, was Ihr nach:
So ändern Sie die Montage Versionsnummer mit AssemblyInfoTask?
InformationsquelleAutor James Woolfenden