Größere Umsetzungen bestehen in der Regel aus mehreren Projekten innerhalb einer Solution. Die Pflege der Versionsnummer kann hier gleich mal etwas zeitaufwändig werden. Dazu empfiehlt es sich eine globale AssemblyInfo anzulegen und diese in die jeweiligen Projekte zu linken. Vorteil: Die Versionsnummer muss nur mehr zentral an einer Stelle gesetzt werden.
Hierfür ist an einer zentralen Stelle eine Codedatei anzulegen und folgender Inhalt zu setzen (dieser kann natürlich variieren, wichtig hierbei sind die Versionsinformationen):
using System.Reflection;
using System.Runtime.InteropServices;
#if DEBUG
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyProduct("DEVTYR CORE (Debug)")]
#else
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyProduct("DEVTYR CORE")]
#endif
[assembly: AssemblyCompany("Norbert Eder")]
[assembly: AssemblyCopyright("2011 © Norbert Eder")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("1.1.0")]
[assembly: AssemblyFileVersion("1.1.0")]
Nachdem dies erledigt ist, muss man sich jede einzelne AssemblyInfo vorknöpfen und die obigen Informationen daraus entfernen. Übrig bleibt dann in etwa folgendes:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("DevTyr.Core.Mobile")]
[assembly: AssemblyDescription("")]
Schlussendlich fehlt noch der letzte Schritt. In den betroffenen Projekten ist die zuerst erstellte Datei per Link ins Projekt einzubinden. Dafür ist direkt am jeweiligen Projekt im Kontextmenü der Eintrag Add / Existing Item … auszuwählen, wie in der nachfolgenden Abbildung ersichtlich:
Im sich öffnenden Fenster muss nun die globale AssemblyInfo ausgewählt werden. Hierbei ist wichtig, dass die Datei nicht direkt in das Projekt eingebunden wird, sondern nur ein Link darauf:
Dieser Schritt ist bei allen relevanten Projekten zu wiederholen und schon kann die Versionsnummer an einer zentralen Stelle gepflegt werden.