Wie zu verwenden Assembly Binding Redirection zu ignorieren, revision und build-Nummern
Habe ich mehrere .NET-Anwendungen in C#, zusammen mit einer API für den Zugriff auf die Datenbank. Ich möchte alle API-Versionen in der Datenbank, und Sie Holen die höchsten revisions-und Buildnummer, aber stick mit den major-und minor-Nummer, die Sie erbaut wurden. Im Grunde, wenn ich die reference-API 1.2.3.4
ich möchte den Verweis zu Lesen 1.2.*.*
so dass die Anwendungen nur abholen 1.2.3.5
ich sehe, ich kann dies mit XML-config-Dateien. Ich hätte es lieber eingehalten in. Ähnliche zu veröffentlichen, die Politik, aber mit der zusätzlichen Dateien. Ich könnte dich für, die. Das andere Problem ist, dass alle Lösungen die ich finden Sie unter umleiten von einer version auf eine andere spezielle version, die nicht nur jede neuere version.
Wie mache ich das?
Kann mir jemand zeigen, um eine informative Quelle für die publisher-Politik?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dank leppie Vorschlag der Verwendung der AppDomain.AssemblyResolve Ereignis, ich war in der Lage zu lösen, die ein ähnliches problem. Hier ist, was mein code sieht wie folgt aus:
Diese völlig ignoriert die Versionsnummer und ersetzt das bereits geladene Bibliothek für jede Bibliothek-Referenz mit dem Namen "FooLibrary". Sie können mit den anderen Parametern des
AssemblyName
Klasse, wenn Sie wollen strenger sein.FooClass
kann jede Klasse in der FooLibrary Montage.AssemblyResolve
Ereignis von überall her. Es gibt nichts besonderes über dieLoadStuff()
Methode. Wenn Sie sich entscheiden, um sich für die Veranstaltung registrieren jedes mal, wenn Sie laden eine assembly, nur daran erinnern, um die Registrierung, wenn Sie fertig sind.AppDomain.AssemblyResolve
Veranstaltung sollte helfen.