Comment puis-je liste tous les assemblys chargés?
Dans .Net, je voudrais énumérer tous les assemblys chargés sur tous les domaines d'application. Faire pour que mon programme du domaine d'application est assez facile AppDomain.CurrentDomain.GetAssemblies()
. Dois-je en quelque sorte l'accès à chaque domaine d'application? Ou est-il déjà un outil qui fait cela?
- Notez que
GetAssemblies()
ne fonctionne pas, car il n'est pas récursive et il va manquer toutes les références d'assembly. J'ai ajouté une version récursive deGetAssemblies()
stackoverflow.com/questions/383686/....
Vous devez vous connecter pour publier un commentaire.
À L'Aide De Visual Studio
Cela donne des détails au sujet de chaque assemblée, le domaine de l'application et a un peu d'options pour les symboles de charge (c'est à dire des fichiers pdb qui contiennent des informations de débogage).
À L'Aide De L'Explorateur De Processus
Si vous voulez un outil externe vous pouvez utiliser l' Process Explorer (freeware publié par Microsoft)
Cliquez sur un processus et il affichera une liste avec tous les ensembles utilisés. L'outil est assez bon car il montre que d'autres informations telles que les descripteurs de fichiers etc.
Par programme
Vérifier cette SORTE question qui explique comment le faire.
Voici ce que j'ai fini avec. C'est une liste de toutes les propriétés et méthodes, et j'ai répertorié tous les paramètres de chaque méthode. Je n'ai pas réussi à obtenir toutes les valeurs.
foreach(Type type in asm.GetTypes()){ if ((type.ToString().IndexOf("ACLASSIMLOOKINGFOR")>=0) || (type.ToString().IndexOf("BCLASSIMLOOKINGFOR")>=0)){...