Assembly-Bindungsumleitungen: Eine ausführliche Erklärung
Einführung
Assembly-Bindungsumleitungen spielen eine entscheidende Rolle bei der Lösung von Versionskonflikten zwischen Baugruppen. Dieser Artikel befasst sich mit den Mechanismen hinter Bindungsumleitungen, geht auf häufige Abfragen ein und bietet ein umfassendes Verständnis ihrer Funktionalität.
Bindungsumleitungsmechanismus
Eine Bindungsumleitung in der Assembly-Bindung Der Abschnitt „app.config“ gibt eine Zuordnung zwischen einer alten Version und einer neuen Version einer Assembly an. Wenn die Laufzeit auf die alte Version stößt, leitet sie den Ladevorgang automatisch auf die neue Version um.
Hauptversionsspezifität
Bindungsumleitungen geben normalerweise nur die Hauptversionsnummer in der an oldVersion- und newVersion-Attribute. Dies liegt daran, dass davon ausgegangen wird, dass die verbleibenden Versionsnummern (Nebenversion, Build, Revision) kompatibel sind. Wenn nicht explizit angegeben, versucht die Laufzeit, die neue Version mit denselben Neben-, Build- und Revisionsnummern wie die alte Version zu laden.
Versionsänderungen
Version Änderungen sind nicht auf Hauptversionen beschränkt. Bindungsweiterleitungen können verwendet werden, um einen beliebigen Versionsbereich auf eine bestimmte neue Version umzuleiten. Wenn jedoch die Hauptversion geändert wird, werden auch alle nachfolgenden Versionen umgeleitet, während Änderungen an Neben-, Build- oder Revisionsnummern innerhalb derselben Hauptversion keine Umleitung auslösen.
Beispiel
Betrachten Sie die folgende Bindungsumleitung:
In diesem Beispiel: Assemblys mit dem Namen „FooBar“ und einem öffentlichen Schlüsseltoken von „32ab4ba45e0a69a1“ wird zur Laufzeit von Version 7.0.0.0 auf Version 8.0.0.0 umgeleitet. Alle Neben-, Build- und Revisionsnummern in Version 7.0.0.0 werden automatisch auf ihre entsprechenden Gegenstücke in Version 8.0.0.0 umgeleitet.
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie lösen Assembly-Bindungsumleitungen Versionskonflikte in .NET-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!