Guide pratique pour charger et décharger des assemblys

Les assemblys auxquels votre programme fait référence sont chargés automatiquement par le Common Language Runtime, mais il est également possible de charger dynamiquement des assemblys spécifiques dans le domaine d’application actif. Pour plus d’informations, consultez Guide pratique pour charger des assemblys dans un domaine d’application.

Dans .NET Framework, il n’existe aucun moyen de décharger un assembly spécifique sans décharger tous les domaines d’application qui le contiennent. Même si l’assembly passe hors de portée, le fichier d’assembly proprement dit restera chargé jusqu’à ce que tous les domaines d’application qui le contiennent soient déchargés. Dans .NET Core, la classe System.Runtime.Loader.AssemblyLoadContext gère le déchargement des assemblys. Pour plus d’informations, consultez Guide pratique pour utiliser le déchargement des assemblys et déboguer les problèmes associés dans .NET Core.

Charger et décharger des assemblys

Pour charger un assembly dans un domaine d’application, utilisez l’une des nombreuses méthodes de chargement contenues dans les classes AppDomain et Assembly. Pour plus d’informations, consultez Guide pratique pour charger des assemblys dans un domaine d’application. Notez que .NET Core ne prend en charge qu’un seul domaine d’application.

Pour décharger un assembly dans .NET Framework, vous devez décharger tous les domaines d’application qui le contiennent. Pour décharger un domaine d’application, utilisez la méthode AppDomain.Unload. Pour plus d’informations, consultez Guide pratique pour décharger un domaine d’application.

Si vous souhaitez décharger certains assemblys seulement (pas tous) dans une application .NET Framework, vous pouvez créer un domaine d’application, exécuter le code à l’intérieur de ce domaine, puis décharger le domaine. Pour plus d’informations, consultez Guide pratique pour décharger un domaine d’application.

Voir aussi