2009-09-01 26 views
6

Nach dem Laden eines Verweises auf eine Baugruppe mit so etwas wie entladen:Wie eine .NET-Assembly Referenz in Ironpython

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

Wie kann ich die Montage wieder entladen?

Warum sollte jemand das jemals tun wollen? Weil ich foo.dll neu kompiliere und es neu laden möchte, aber der Compiler gibt mir eine Aufregung, da IronPython bereits auf foo.dll zugreift.

Antwort

5

.NET unterstützt nicht das Entladen nur einer einzelnen Baugruppe. Stattdessen müssen Sie eine ganze AppDomain entladen. Ich weiß nicht genau, wie IronPython mit AppDomain s funktioniert, aber das ist die normale .NET-Methode. (Laden Sie die Baugruppe in eine neue AppDomain, verwenden Sie sie, verwerfen Sie die AppDomain, erstellen Sie eine neue AppDomain mit der neuen Version der Datei usw.)