Verwenden von AssemblyVersion- und AssemblyFileVersion-Attributen

In diesem Artikel wird die Verwendung AssemblyVersion und AssemblyFileVersion Attribute in der AssemblyInfo.cs-Datei erläutert.

Originalproduktversion: .NET Framework
Ursprüngliche KB-Nummer: 556041

Zusammenfassung

AssemblyInfo.cs bietet zwei Attribute zum Definieren verschiedener Versionsnummerntypen. In diesem Artikel wird erläutert, wie Sie diese Attribute effektiv verwenden.

Mit Microsoft .NET Framework können Sie zwei verschiedene Typen von Versionsnummern auf jede Assembly festlegen.

AssemblyVersion

AssemblyVersion ist die Versionsnummer, die vom Framework während des Builds und zur Laufzeit zum Suchen, Verknüpfen und Laden der Assemblys verwendet wird. Wenn Sie einem Projekt einen Verweis auf eine Assembly hinzufügen, wird diese Versionsnummer eingebettet. Zur Laufzeit verwendet Common Language Runtime (CLR) diese Versionsnummer, um die Assembly zu laden.

Hinweis: Diese Version wird zusammen mit dem Namen, dem Öffentlichen Schlüsseltoken und den Kulturinformationen der Assembly nur verwendet, wenn die Assembly stark benannt ist (signiert). Wenn die Assembly nicht stark benannt ist, wird nur der Dateiname zum Laden verwendet.

AssemblyFileVersion

AssemblyFileVersion ist die Versionsnummer, die einer Assemblydatei wie im Dateisystem zugewiesen ist. Sie wird im Windows-Explorer angezeigt und nie von der .NET Framework oder der Laufzeitumgebung zum Referenzieren verwendet.

Attribute in AssemblyInfo.cs

// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]  
[assembly: AssemblyFileVersion("1.0.0.0")]

Die Verwendung eines Sternchens (*) anstelle einer bestimmten Zahl ermöglicht es dem Compiler, den Wert bei jedem Build automatisch zu erhöhen.

Wenn Sie beispielsweise eine Frameworkassembly erstellen, die von vielen Entwicklern verwendet wird, und Sie neue Versionen häufig veröffentlichen (z. B. täglich), und die Assemblys sind stark benannt, müssen Entwickler ihre Verweise mit jeder Version aktualisieren. Es kann umständlich sein und kann zu falschen Verweisen führen.

Ein besserer Ansatz in geschlossenen Gruppen und volatilen Szenarien besteht darin, das AssemblyVersion fixiert zu lassen und nur das AssemblyFileVersion zu aktualisieren. Es ermöglicht Entwicklern, die Assembly im Referenzpfad zu überschreiben, ohne ihre Projektverweise zu ändern.

Für zentrale oder finale Release-Builds wird empfohlen, das AssemblyVersion zu aktualisieren, um erhebliche Änderungen widerzuspiegeln. In diesen Fällen wird der AssemblyFileVersion in der Regel aktualisiert, um der AssemblyVersion angepasst zu werden.