Freigeben über


Versionszuweisung für Komponenten

Jede Assembly verfügt als Teil ihrer Identität über eine vierteilige Versionsnummer. Die Version muss als Teil der Identität angegeben werden, um unterschiedliche Versionen einer Assembly zu Zwecken der parallelen Ausführung unterscheiden zu können.

Diese Kompatibilitätsversionsnummer wird physisch als vierteilige Zahl im folgenden Format dargestellt:

MajorVersion.MinorVersion.BuildNumber.Revision.

Die Versionsnummer besteht aus folgenden Teilen: Hauptversions-, Nebenversions-, Build- und Revisionsnummer. Auf die Teile der Versionsnummer wird keine Semantik angewendet. Die Common Language Runtime schließt also aus der Zuweisung der Versionsnummer nicht auf die Kompatibilität oder andere Merkmale einer Assembly (Version 1.0.0.0 einer Assembly und Version 2.1.0.2 werden vom Klassenladeprogramm als völlig verschiedene Identitäten behandelt). Als Entwickler können Sie nach Bedarf beliebige Teile dieser Nummer ändern. Obwohl auf das Format der Versionsnummer keine Semantik angewendet wird, ist es für einzelne Organisationen u. U. sinnvoll, Konventionen zum Ändern von Versionsnummern einzuführen. So kann innerhalb einer Organisation Konsistenz gewährleistet werden, und es kann z. B. der Build bestimmt werden, aus dem eine bestimmte Assembly stammt. Häufig wird eine Konvention wie die folgende verwendet:

Hauptversion oder Nebenversion. Änderungen an der Haupt- oder Nebenversion der Versionsnummer werden als inkompatibel behandelt. Gemäß dieser Konvention ist Version 2.0.0.0 nicht mit Version 1.0.0.0 kompatibel. Inkompatible Änderungen sind z. B. Änderungen am Typ bestimmter Methodenparameter oder ein vollständiges Entfernen eines Typs oder einer Methode.

Build. Die Buildnummer wird meist zur Unterscheidung zwischen täglichen Builds oder kleineren kompatiblen Versionen verwendet.

Revision. Änderungen der Revisionsnummer sind meist für inkrementelle Builds reserviert, die zum Beheben eines bestimmten Programmfehlers benötigt werden. Diese Nummer wird bisweilen als "Emergency Bug Fix-Nummer" bezeichnet, da die Revisionsnummer häufig beim Ausliefern einer Problemlösung an einen Kunden geändert wird.

Eine Assembly mit Kompatibilitätsversionsnummer 2.0.0.0 gilt als inkompatibel mit einer Assembly, deren Kompatibilitätsversionsnummer 1.0.0.0 ist. Die Kompatibilitätsnummer 2.0.2.11 entspricht einer QFE-Aktualisierung der Kompatibilitätsnummer 2.0.2.1.

Siehe auch

Versionszuweisung für starke Namen | Zusammenfassung: Verpacken und Weitergeben von Anwendungen | Anhang A: Weitere Informationen zum Verpacken und Weitergeben | Anhang B: Tools zum Verpacken und Weitergeben