Assembly-Bindungsumleitung: Verständnis und Implementierung
Assembly-Bindungsumleitung ist ein Mechanismus zur Lösung von Konflikten, die auftreten, wenn verschiedene Assemblys in einer Anwendung referenzieren mehrere Versionen derselben Bibliothek. Dies kann auftreten, wenn eine Bibliothek aktualisiert wird und eine Anwendung sowohl von der alten als auch von der neuen Version abhängig ist.
Hauptversionsumleitung
Bindungsumleitungen geben normalerweise nur die Hauptversion an der Baugruppe, wobei Neben-, Build- und Revisionsnummern außer Acht gelassen werden. Dies liegt daran, dass die Kompatibilität einer Baugruppe durch diese untergeordneten Versionsnummern im Allgemeinen nicht beeinträchtigt wird. Solange die Hauptversion dieselbe bleibt, wird davon ausgegangen, dass die Funktionalität der Assembly gleichwertig ist.
Häufigkeit von Versionsänderungen
Die alten und neuen Versionen ändern sich in einer verbindlichen Umleitung nur, wenn es eine Änderung in der Hauptversion gibt. Dies liegt daran, dass Neben-, Build- und Revisionsnummern in der Regel Fehlerbehebungen oder Leistungsoptimierungen darstellen, die sich nicht auf die Gesamtfunktionalität der Assembly auswirken.
Beispiel
Berücksichtigen Sie die folgende Bindungsumleitung :
<dependentAssembly> <assemblyIdentity name="FooBar" publicKeyToken="32ab4ba45e0a69a1" culture="en-us" /> <bindingRedirect oldVersion="7.0.0.0" newVersion="8.0.0.0" /> </dependentAssembly>
Diese Bindungsumleitung weist die Anwendung an, Version 8.0.0.0 der FooBar-Assembly anstelle von Version zu laden 7.0.0.0, auch wenn die Anwendung auf die ältere Version verweist. Diese Umleitung erfolgt unabhängig von den Neben-, Build- oder Revisionsnummern der beteiligten Assemblyversionen.
Das obige ist der detaillierte Inhalt vonWie löst die Assembly-Bindungsumleitung Versionskonflikte in .NET-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!