Wie können Sie zusätzliche Logik hinzufügen Auflösung zur Laufzeit zu geben?

StackOverflow https://stackoverflow.com/questions/122544

  •  02-07-2019
  •  | 
  •  

Frage

Gibt es eine generische Art und Weise, ohne das Erstellen und Ihre eigene CLR Host verwalten, Ortung zu übernehmen und den Laden eine Art, wenn dieser Typ nicht gefunden wird?

Das folgende ist nur ein Beispiel. In Ihrer Eile die erste Antwort zu sein, schlägt nicht den neuen Add-in Rahmen oder die MEF als Lösung auf meine Frage.

Ein Beispiel wäre eine Probe mit Add-In sein. Ihre Anwendung liest eine Datei, dass die Typen Listen für eine bestimmte Funktion zu verwenden. Die App versucht, diese Typen zu instanziiert. Wenn sie noch nicht bereits in der Appdomain geladen werden, schlägt die Methode fehl. Ich bin für eine Veranstaltung sucht ich verarbeiten kann oder eine Komponente kann ich meine eigene Implementierung sorgen für die mir erlauben wird, anmutig diese Situationen zu bewältigen und eine zusätzliche Logik bieten für diese Baugruppen geladen werden.


Soweit ich sagen kann (es sei denn, jemand ein Beispiel hat das funktioniert) keine der so weit AppDomain Ereignisse Feuer erwähnt, wenn ein Typ nicht gefunden wird.


Bitte warten, offenbar das funktioniert ! Nicht sicher, was ich falsch gemacht habe vor, aber dieses Ereignis ausgelöst gut und gut.

War es hilfreich?

Lösung

Es gibt Ereignisse auf der AppDomain , den Sie mit verwenden.

Sie würden wollen, TypeResolve Ereignis und möglicherweise die AssemblyResolve Ereignis.

Sie können aber auch mehr darüber lesen, wie der .net Runtime löst Baugruppen , so kann es Ihnen diese Informationen in der Sondierung Abschnitt definieren könnten.

Andere Tipps

Ist das nicht möglich, nur durch AppDomain Ereignisse mit?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top