Verwenden der Attribute "AssemblyVersion" und "AssemblyFileVersion"

In diesem Artikel wird die Verwendung AssemblyVersion von - und AssemblyFileVersion -Attributen in der AssemblyInfo.cs-Datei beschrieben.

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

Zusammenfassung

AssemblyInfo.cs stellt zwei Attribute bereit, um zwei verschiedene Versionstypen festzulegen. Dieser Tipp zeigt, wie Sie diese beiden Attribute verwenden.

Microsoft .NET Framework bietet die Möglichkeit, zwei verschiedene Typen von Versionsnummern für jede Assembly festzulegen.

Assemblyversion

Dies 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 einen Verweis auf eine Assembly in Ihrem Projekt hinzufügen, wird diese Versionsnummer eingebettet. Zur Laufzeit sucht Common Language Runtime (CLR) nach assembly mit dieser Versionsnummer, die geladen werden soll. Denken Sie jedoch daran, dass diese Version zusammen mit Namen, Öffentlichem Schlüsseltoken und Kulturinformationen nur verwendet wird, wenn die Assemblys mit starkem Namen signiert sind. Wenn Assemblys nicht mit starkem Namen signiert sind, werden nur Dateinamen zum Laden verwendet.

AssemblyFileVersion

Dies ist die Versionsnummer, die datei als im Dateisystem angegeben wird. Sie wird von Windows Explorer angezeigt und wird nie von .NET Framework oder der Runtime zum Verweisen 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")]

Wenn anstelle der absoluten Zahl ein (*) angegeben wird, erhöht der Compiler die Zahl bei jeder Erstellung um eins.

Angenommen, Sie erstellen eine Frameworkassembly für Ihr Projekt, die von vielen Entwicklern beim Erstellen der Anwendungsassemblys verwendet wird. Wenn Sie häufig eine neue Version der Assembly veröffentlichen, z. B. einmal täglich, und wenn Assemblys stark benannt sind, müssen Entwickler den Verweis jedes Mal ändern, wenn Sie eine neue Assembly freigeben. Es kann umständlich sein und auch zu falschen Verweisen führen. Eine bessere Option in solchen Szenarien mit geschlossenen Gruppen und flüchtigen Szenarien wäre, die AssemblyVersion zu korrigieren und nur die AssemblyFileVersionzu ändern. Verwenden Sie die Versionsnummer der Assemblydatei, um die neueste Version der Assembly zu kommunizieren. In diesem Fall müssen Entwickler die Verweise nicht ändern, und sie können die Assembly im Verweispfad überschreiben. In zentralen oder endgültigen Releasebuilds ist es sinnvoller, die AssemblyVersion zu ändern und die meisten mit der AssemblyFileVersion Assemblyversion identisch zu halten.