Wir haben eine einzelne AssemblyInfoGlobal.cs Datei auf Lösungsebene, wie die anderen Antworten. Dann haben wir als Teil unseres Build-Skripts eine kleine Anwendung, die das von CruiseControl.net definierte CCNetLabel verwendet (und mit dem defaultLabeler die Labels erzeugt) und die globale Datei auscheckt, die Versionsnummer ändert und dann die globale Datei wieder eincheckt .
Einige unserer Projekte haben mehrere Lösungen, so dass die globale Datei über der Lösungsebene in der Verzeichnisstruktur liegt, hoch genug, damit alles, was sie benötigt, darunter liegt.
Wir aktualisieren dann auch die Versionsnummern der Bereitstellungsprojekte - die Nummer dafür befindet sich in der VDProj-Datei, aber ich bin mir nicht sicher, ob Sie diese in den Express-Versionen finden werden - ich denke, das ist eine vollständige Professional-Funktion. Und einige Projekte haben ein Dutzend Bereitstellungsprojekte, aber keine einfache Möglichkeit, die Versionsnummer aus der VDPROJ-Datei selbst zu externalisieren. (oder gibt es?)
Dann passiert der Build, was bedeutet, dass alle Ausgaben von dem Build genau die gleiche Versionsnummer haben, jederzeit können wir die Version von der MSI oder Assembly bekommen und wir wissen genau, welche Quelle war verwendet, um diese Ausgabe zu erstellen.
Es sieht nicht so aus, als ob man an VB arbeitet oder ist es wegen Express Edition für VS.NET? Sieht nach einem tollen Trick aus. –
Sie müssen auch eine Verwendung hinzufügen. Ich werde meine Antwort aufgeben. –
Sie meinen das Entfernen des Attributs "AssemblyFileVersion", richtig? – Alexander