Comment puis-je obtenir une liste des fichiers chargés par mon processus?
-
21-09-2019 - |
Question
Je suis en train de faire un déploiement rapide et sale d'un projet. Je pensais que ce serait facile à exécuter mon processus, utilisez un outil pour saisir une liste de tous les fichiers chargés (DLL) et utiliser cette liste pour créer une liste de fichiers de copie pour mon déploiement de test.
Pensée sur l'utilisation filemon mais il y a beaucoup de bruit là-dedans. Son projet .net.
Merci.
La solution
Vous devriez pouvoir utiliser la réflexion de .NET pour analyser votre AppDomain application (s) et vider une liste des ensembles chargés et les emplacements.
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
Console.WriteLine(assembly.GetName().Name);
Console.WriteLine(assembly.Location);
}
Autres conseils
Process Explorer?
Consultez AppDomain.GetAssemblies
For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
Console.WriteLine(Ass.ToString())
Next
Si je comprends bien votre question, de faire un déploiement rapide, vous pouvez définir dans toutes les références de votre projet, mais les cadres du réglage « Copie locale » true.
De cette façon, lorsque vous créez votre application, vous aurez toutes les DLL nécessaires à votre répertoire de sortie (bien, presque toutes, les références nécessaires par vos références ne seront pas copiés automatiquement, il est donc préférable de les ajouter comme une référence locale trop ).
Espérons que cela aide. Sinon, dites pourquoi, je vais essayer de continuer à ce sujet.