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.

È stato utile?

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?

AppDomain.GetAssemblies

For Each Ass As Reflection.Assembly In CurrentDomain.GetAssemblies()
    Console.WriteLine(Ass.ToString())
Next

Questa è risolta in un'altra già.

Il succo è utilizzare appdomain corrente per ottenere un elenco di assiemi e scorrere la loro posizione loader.

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top