Pergunta

Estou tentando fazer uma implantação rápida e suja de um projeto. Eu pensei que seria fácil executar meu processo, usar uma ferramenta para pegar uma lista de todos os arquivos carregados (DLLs) e usar essa lista para criar uma lista de arquivos de cópia para minha implantação de teste.

Pensei em usar filmon, mas há muito barulho lá. É um projeto .NET.

Obrigado.

Foi útil?

Solução

Você deve usar a reflexão do .NET para analisar o aplicativo AppDomain (s) e despejar uma lista de conjuntos e locais carregados.

var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in loadedAssemblies)
{
    Console.WriteLine(assembly.GetName().Name);
    Console.WriteLine(assembly.Location);
}

Outras dicas

Process Explorer?

Verificação de saída AppDomain.GetAssemblies

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

Isso é respondido em outro pergunta já.

A essência é usar o AppDomain atual para obter uma lista de montagens e fazer um loop através do local do carregador.

Se eu entendi sua pergunta, para fazer uma implantação rápida, você pode definir todas as referências do seu projeto, mas as da estrutura da configuração "Copiar local" para True.

Dessa forma, ao criar seu aplicativo, você terá todas as DLLs necessárias no diretório de saída (bem, quase todas, as referências necessárias para suas referências não serão copiadas automaticamente, por isso é melhor adicioná -las como referência local também).

Espero que isto ajude. Caso contrário, diga o porquê, tentarei continuar nisso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top