Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 46998|Resposta: 2

[Fonte] O .NET não recebe o conjunto completo de montagem de referência

[Copiar link]
Publicado em 22/08/2020 10:41:02 | | | |
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





Anterior:O .NET usa cache Redis para notificações de expiração
Próximo:Ferramenta profissional de gestão para negócios de TI em nuvem ServiceNow
 Senhorio| Publicado em 25/12/2020 15:50:46 |
Publicado em 22/09/2021 20:39:35 |
Aprenda a aprender...
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com