En fait, la connaissance de classname est suffisante dans la plupart des scénarios. MSDN dit - Si le type est dans l'assembly en cours d'exécution ou dans Mscorlib.dll, il suffit de fournir le nom de type qualifié par son espace de noms.
Type neededType = Type.GetType("TestClass"); //or typeof(TestClass)
Assembly a = neededType.Assembly;
Si vous ne connaissez pas l'assemblage de type contenant (bien que je ne peux pas imaginer pourquoi) -
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
Asssembly result = assemblies.FirstOrDefault(a=>a.GetType("TestClass",false)!=null);
La seule restriction - assemblage contenant TestClass aurait dû être déjà chargé au moment d'appeler ce code .
J'espère que cela vous aidera. :) La réponse de
L'itération sur tous les assemblages référencés serait votre seule option, mais elle entraînerait également facilement des doublons. Mais je ne crois pas que ce soit toutes les informations que vous avez, alors vous devriez essayer d'être plus explicite sur votre raisonnement pour votre question. –