Use. .NET para obter o assembly carregado é incompleto, embora nos refiramos a outras bibliotecas, mas sem chamada, ele não pode ser obtido no assembly carregado, este artigo compartilha para obter o assembly completo no WinForm e ASP.NET.
Introdução
Use. .NET para obter o assembly carregado é incompleto, embora nos refiramos a outras bibliotecas, mas sem chamada, ele não pode ser obtido no assembly carregado, este artigo compartilha para obter o assembly completo no WinForm e ASP.NET.
ASP.NET (não medido)
O .NET Framework adia o carregamento dos assemblies no AppDomain atual até que sejam necessários. Por exemplo, se você chamar apenas uma biblioteca de terceiros a partir do SomeMethod(), a DLL de terceiros geralmente não será carregada até a primeira execução do SomeMethod().
AppDomain.GetAssemblies() te dá todos os assemblies que foram carregados no AppDomain atual. BuildManager.GetReferencedAssemblies() retorna uma lista de todos os assemblies referenciados a partir do Web.config e outros locais, e carrega esses assemblies no AppDomain atual.
Código:
WinForm
Comece usando o código abaixo para obter o conjunto carregado.
O número de montagens de Assembly obtidas é 12, como mostrado na figura a seguir:
Quando não chamamos os métodos de outras bibliotecas, a aplicação principal não carrega suas DLLs, provavelmente para economizar sobrecarga de desempenho, então a primeira vez que chamamos os métodos de outras bibliotecas, pode ser um pouco mais lento.
Use o código modificado, da seguinte forma:
O número de assemblies assembly obtidos é 117, e o princípio é colocar o dll no diretório de aplicação e carregá-lo.
Nesse caso, ao chamar AppDomain.CurrentDomain.GetAssemblies(). Método ToList(), você pode obter a montagem completa, que pode ser mais de 117.
Pegue o conjunto atual
|