2010-09-27 58 views
1

我正在開發Cmdlet並使用Powershell-ISE進行測試。 ISE保持我的DLL鎖定並防止重建,然後重新加載。如何讓Powershell-ISE發佈Cmdlet DLL

我試過調用刪除ps-snappin,但DLL仍然鎖定。

+1

AFAIK,這是不可能完全卸載DLL。另請參閱:http://stackoverflow.com/questions/1337961/powershell-unload-module-completely – 2010-09-27 17:48:14

+0

@羅曼謝謝。我錯過了那個問題。 – 2010-09-27 20:46:33

回答

3

正如羅曼指出的,這不能做AFAICT。這不是PowerShell ISE問題,因爲它是程序集加載的.NET問題,即.NET不支持程序集卸載。如果有方法通過輔助AppDomain添加管理單元,然後卸載整個AppDomain,那將會很不錯。我不知道有任何這樣的嘗試在主機中這樣做。

0

Keith和Roman是正確的。一旦將.NET程序集加載到AppDomain中,釋放它的唯一方法就是關閉AppDomain。