ich laden haben den folgenden Code ein, dass Loades alle aseemblies, die durch meine porject refrenced sind und alle von ihnen benutzten referenziertenReflection kann nicht ein oder> mehrere der angeforderten Typen
var types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(t => t.GetTypes())
.Where(t => t.IsClass && !t.IsAbstract && (typeof (MyType).IsAssignableFrom(t)));
foreach (var type in types.Where(type => typeof (MyType).IsAssignableFrom(type)))
{... do something ...}
Auf meinem Dev-Box das funktioniert, wie erwartet, auf einer anderen Umgebung verursacht dies eine Ausnahme
System.Reflection.ReflectionTypeLoadException: Kann eine oder mehrere der angeforderten Typen laden. Rufen Sie die LoaderExceptions-Eigenschaft für weitere Informationen auf.
Warum wird diese Ausnahme ausgelöst? ist es möglich, meinen Code so umzuformatieren, dass die Ausnahme ignoriert wird?
gehen, dass 'LoaderExceptions' Eigenschaft suchen dann oder ....? – asawyer
Verwenden Sie so etwas, um es auszugeben 'catch (ReflectionTypeLoadException e) {neue Exception werfen (string.Format (" Fehler beim Laden des Typs aufgrund der folgenden: {0} {1} {0} ", Environment.NewLine, string. Join (Environment.NewLine, e.LoaderExceptions.Select (le => le.ToString()). ToArray()))); } ' – asawyer
Leider habe ich keinen Zugriff auf die Umgebung, in der dies für die nächsten paar Tage aufgetreten ist. Also versuche es blind zu lösen –