Hallo,
ich habe hier ein .Net C#2.0 Programm.
Ich möchte dynamisch ein Assembly nachladen, dafür lade ich mit
Assembly a = Assembly.Load(...);
zuerst die dll, hole mir mit
Type t = a.GetType("StartClass", ...);
oder mit
Type[] ts = a.GetTypes();
// nun StartClass suchen
die StartClass und führe dies dann aus. Alles soweit kein Problem.
Jetzt möchte ich eine DLL (nennen wir sie dll1) laden welche eine Referenz auf eine 2. DLL hat (dll2). Der Code von dll2 wird aber vorerst im Code von dll1 nicht benutzt.
Nehmen wir jetzt mal an dll2 ist nicht vorhanden (warum auch immer).
Wenn ich die dll1 statisch und nicht dynamisch lade gibt es keine Probleme da hier gar nicht versucht wird dll2 nachzuladen (delayed load).
Wenn ich dll1 aber über die o.g. dynamischen Methoden nachlade dann funktioniert delayed load irgendwie nicht mehr:
Mache ich etwas falsch oder funktioniert delayed load beim dynamischen Nachladen nicht ?
Beste Grüße
MrDigi
Hallo,
ich lade jetzt die Assemblies erst mit Assembly.ReflectionOnlyLoadFrom(), teste mit GetType() auf die gesuchte Klasse und lade dann das Assembly mit Assembly.LoadFrom().
Damit funktioniert delayed load, vielen Dank für den guten Tipp 😃
Beste Grüße
MrDigi