2009-09-01 7 views
6

Après le chargement d'une référence à un assemblage avec quelque chose comme:Comment décharger une référence d'assemblage .NET dans IronPython

import clr 
clr.AddRferenceToFileAndPath(r'C:\foo.dll') 

Comment puis-je décharger l'ensemble à nouveau?

Pourquoi voudrait-on jamais faire cela? Parce que je suis en train de recompiler foo.dll et que je veux le recharger, mais le compilateur me donne un problème, car IronPython a déjà accès à foo.dll.

Répondre

5

.NET lui-même ne prend pas en charge le déchargement d'un seul assemblage. Au lieu de cela, vous devez décharger un AppDomain entier. Je ne sais pas exactement comment IronPython fonctionne avec AppDomain s, mais c'est la façon normale .NET de faire les choses. (Chargez l'assemblage dans un nouveau AppDomain, utilisez-le, supprimez le AppDomain, créez un nouveau AppDomain avec la nouvelle version du fichier, etc.)

Questions connexes