Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Todas as aplicações .NET têm dependências. Mesmo a aplicação simples hello world tem dependências em partes das bibliotecas de classes .NET.
Compreender a lógica padrão de carregamento de assembly no .NET pode ajudar a resolver problemas típicos de implementação.
Em algumas aplicações, as dependências são determinadas dinamicamente em tempo de execução. Nestas situações, é fundamental compreender como os assemblies geridos e as dependências não geridas são carregados.
AssemblyLoadContext
A AssemblyLoadContext API é central para o design de carregamento do .NET. O artigo Compreender o AssemblyLoadContext fornece uma visão conceptual do design.
Detalhes de carregamento
Os detalhes do algoritmo de carregamento são brevemente abordados em vários artigos:
- Algoritmo de carregamento de montagem gerido
- Algoritmo de carregamento de montagem de satélites
- Algoritmo de carregamento de bibliotecas não gerido (nativo)
- Sondagem padrão
Crie uma aplicação com plugins
O tutorial Criar uma aplicação .NET com plugins descreve como criar um AssemblyLoadContext personalizado. Utiliza um AssemblyDependencyResolver para resolver as dependências do plugin. O tutorial isola corretamente as dependências do plugin da aplicação de alojamento.
Possibilidade de descarregamento da montagem
O artigo sobre como utilizar e depurar a descarregabilidade de assembly no .NET é um tutorial detalhado. Mostra como carregar uma aplicação .NET, executá-la e depois descarregá-la. O artigo também fornece dicas de depuração.
Recolher informações detalhadas sobre o carregamento da montagem
O artigo Recolher informação detalhada sobre o carregamento de assemblies descreve como recolher informações detalhadas sobre o carregamento gerido de assemblies em tempo de execução. Utiliza a ferramenta dotnet-trace para capturar eventos de carregamento de assemblies num traço de um processo em execução.