Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cada aplicativo .NET tem dependências. Até mesmo o aplicativo simples hello world tem dependências em partes das bibliotecas de classes do .NET.
Entender a lógica de carregamento de assembly padrão no .NET pode ajudá-lo a solucionar problemas de implantação típicos.
Em alguns aplicativos, as dependências são determinadas dinamicamente em runtime. Nessas situações, é fundamental entender como assemblies gerenciados e dependências não gerenciadas são carregadas.
AssemblyLoadContext
A AssemblyLoadContext API é central para o design de carregamento do .NET. O artigo Understanding AssemblyLoadContext fornece uma visão geral conceitual do design.
Carregando detalhes
Os detalhes do algoritmo de carregamento são abordados brevemente em vários artigos:
- Algoritmo de carregamento de assembly gerenciado
- Algoritmo de carregamento de assemblagem de satélite
- Algoritmo de carregamento de biblioteca não gerenciado (nativo)
- Sondagem padrão
Criar um aplicativo com plug-ins
O tutorial Criar um aplicativo .NET com plug-ins descreve como criar um AssemblyLoadContext personalizado. Ele usa um AssemblyDependencyResolver para resolver as dependências do plug-in. O tutorial isola corretamente as dependências do plug-in do aplicativo de hospedagem.
Capacidade de descarregamento de assembly
O artigo Como usar e depurar a descarregabilidade de assembly no .NET é um tutorial passo a passo. Ele mostra como carregar um aplicativo .NET, executá-lo e descarregá-lo. O artigo também fornece dicas de depuração.
Coletar informações detalhadas de carregamento do assembly
O artigo Coletar informações detalhadas de carregamento do assembly descreve como coletar informações detalhadas sobre o carregamento de assembly gerenciado no runtime. Ele usa a ferramenta dotnet-trace para capturar eventos do carregador de assemblies em um rastreamento de um processo em execução.