Ich habe eine Klassenbibliothek, die auf eine bestimmte DLL der dritten Partei verweist. Diese DLL ändert die Versionen sehr oft, ist aber innerhalb der gleichen Hauptversion immer abwärtskompatibel. Meine Klassenbibliothek verwendet bestimmte Typen der DLL und führt verschiedene Methoden aus, die in diesen DLLs der dritten Partei enthalten sind.Runtime-Würfe Methode nicht gefunden - referenzierte Assemblyversion stimmt nicht überein
Ich muss das Design der App hier überdenken, da ich ein aktuelles Problem habe, aber ein größeres Problem haben wird, sobald es mehrere Hauptversionen der DLL der 3. Partei gibt (es wird eine begrenzte Reihe von Hauptversionen geben) , 3 um genau zu sein).
Wie kann ich sicherstellen, dass ich eine andere Version der referenzierten Assembly als die verwenden kann, die ursprünglich während der Kompilierzeit verwendet wurde? Meine Laufzeit wird nun in eine DLL geladen, die eine höhere Nebenversion hat, aber eine 'Method not found' Exception auslöst. Ich habe das Tag entfernt und versucht, Assembly.Load auszuführen, um jedes Verhalten bei der Angabe der neueren DLL zu simulieren, aber beide ergeben dasselbe Ergebnis. Methode nicht gefunden.
Was ist der beste Ansatz, um drei wichtige (!) Versionen von referenzierten DLLs in einer einzigen DLL zu unterstützen? Aufgrund der Art der Verwendung der Klassenbibliothek ist es dem Benutzer nicht möglich, die richtige Version zu wählen oder 3 verschiedene DLLs zu erstellen.