2009-09-01 22 views
6

Po załadowaniu odniesienie do zespołu z czymś takim:Jak rozładować odniesienie zestawu .NET w IronPython

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

Jak mogę ponownie rozładować zespół?

Dlaczego ktoś chciałby to zrobić? Ponieważ rekompiluję foo.dll i chcę przeładować, ale kompilator sprawia mi zamieszanie, ponieważ IronPython ma już dostęp do foo.dll.

Odpowiedz

5

. Sam system .NET nie obsługuje rozładowywania tylko jednego zestawu. Zamiast tego musisz rozładować całość AppDomain. Nie wiem dokładnie, jak IronPython działa z AppDomain s, ale to jest normalny sposób działania .NET. (Załaduj zestaw do nowego AppDomain, użyj go, odrzuć AppDomain, utwórz nowy AppDomain z nową wersją pliku itp.)