3 Stimmen

Wird assemblyBinding in .NET-App mit alter Version funktionieren, wenn die neue Version nicht verfügbar ist?

Ich habe eine Assembly-Bindung für eine neuere Version einer in meiner App verwendeten Assembly festgelegt und es funktioniert großartig.

Auf einem meiner Client-Rechner fehlt jedoch die neue Version dieser Assembly, stattdessen ist die alte vorhanden. Wenn ich die App ausführen möchte, sagt sie, dass sie die neue Version nicht finden kann, was wahrscheinlich normal ist. Die Frage ist, wie kann ich dem .NET-Framework sagen, dass es stattdessen die alte Version verwenden soll, wenn die neue Version nicht verfügbar ist?

Das Ziel ist es, eine eindeutige Konfigurationsdatei zu haben, die automatisch je nach der installierten Assembly-Version auf jedem Client-Rechner funktioniert. Ich möchte eine einheitliche Konfigurationsdatei haben, die folgendermaßen funktioniert:

  • wenn die referenzierte Assembly die Version 1 hat, dann verwende diese Version 1.
  • wenn die referenzierte Assembly die Version 2 hat, dann verwende diese Version 2.
  • ... usw.

Ich versuche zu vermeiden, die assemblyBinding-Informationen zur Laufzeit je nach installierter Version dieser referenzierten Assembly zu ändern.

Irgendwelche Ideen? Danke.

0voto

Orion Edwards Punkte 117361

Sie müssten das Assembly zur Laufzeit mit Assembly.Load oder etwas Ähnlichem laden. Die .NET Assembly-Umleitung hat keine Unterstützung für if-Anweisungen und Ausweichlösungen und ähnliche Dinge.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X