Come posso ottenere un elenco dei file caricati dal mio processo?
-
21-09-2019 - |
Domanda
Sto cercando di fare una distribuzione veloce e sporco di un progetto. Ho pensato che sarebbe stato facile per eseguire il mio processo, utilizzare qualche strumento per afferrare un elenco di tutti i file caricati (DLL) e utilizzare tale elenco per creare un elenco di file di copia per la mia distribuzione di prova.
pensato di usare Filemon ma c'è un sacco di rumore in là. Il suo progetto di un .net.
Grazie.
Soluzione
Si dovrebbe essere in grado di utilizzare Reflection di .NET per analizzare il vostro AppDomain applicazione (s) e scaricare un elenco di assembly caricati e luoghi.
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
Console.WriteLine(assembly.GetName().Name);
Console.WriteLine(assembly.Location);
}
Altri suggerimenti
Process Explorer?
For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
Console.WriteLine(Ass.ToString())
Next
Se ho capito la tua domanda, per fare una distribuzione veloce è possibile impostare in tutti i riferimenti del progetto, ma quelli quadro l'impostazione "copia locale" a true.
In questo modo quando si genera l'applicazione avrete tutte le DLL necessari a vostra directory di output (beh, quasi tutti, i riferimenti necessari per i vostri riferimenti non verranno copiati automaticamente, quindi è meglio per aggiungerli come un riferimento locale troppo ).
Spero che questo aiuti. In caso contrario, basta dire il motivo per cui, cercherò di continuare su questo.