Como carregar e descarregar assemblies

Os assemblies referenciados pelo programa serão carregados automaticamente pelo Common Language Runtime, mas também é possível carregar assemblies específicos dinamicamente no domínio do aplicativo atual. Para saber mais, confira Como carregar assemblies em um domínio do aplicativo.

No .NET Framework, não há nenhuma maneira de descarregar um assembly individual sem descarregar todos os domínios do aplicativo que o contêm. Mesmo se o assembly sair do escopo, o arquivo do assembly real permanecerá carregado até que todos os domínios do aplicativo que o contenham sejam descarregados. No .NET Core, a classe System.Runtime.Loader.AssemblyLoadContext manipula o descarregamento de assemblies. Para saber mais, confira Como usar e depurar a capacidade de descarregamento de assembly no .NET Core.

carregar ou descarregar assemblies

Para carregar um assembly em um domínio de aplicativo, use um dos vários métodos de carga contidos nas classes AppDomain e Assembly. Para saber mais, confira Como carregar assemblies em um domínio do aplicativo. Observe que o .NET Core dá suporte apenas a um único domínio de aplicativo.

Para descarregar um assembly no .NET Framework, você deve descarregar todos os domínios do aplicativo que o contêm. Para descarregar um domínio do aplicativo, use o método AppDomain.Unload. Para saber mais, confira Como descarregar um domínio do aplicativo.

Para descarregar alguns assemblies, mas não outros, considere criar um domínio do aplicativo, executar o código dentro dele e descarregar esse domínio. Para saber mais, confira Como descarregar um domínio do aplicativo.

Confira também