私はコマンドレットを開発しており、Powershell-ISE を使用してテストしています。ISE で DLL がロックされたままになり、再構築してからリロードできなくなります。
remove ps-snappin を呼び出してみましたが、DLL はロックされたままです。
私はコマンドレットを開発しており、Powershell-ISE を使用してテストしています。ISE で DLL がロックされたままになり、再構築してからリロードできなくなります。
remove ps-snappin を呼び出してみましたが、DLL はロックされたままです。
Roman が指摘するように、これは AFAICT では実行できません。これは PowerShell ISE の問題ではなく、アセンブリのロードに関する .NET の問題です。つまり、.NET はアセンブリのアンロードをサポートしていません。セカンダリ AppDomain を介してスナップインを追加し、その AppDomain 全体をアンロードする方法があればいいのですが。ホストでこれを実行しようとする試みについては知りません。
キースとローマンは正しいです。.NET アセンブリを AppDomain に読み込んだ後、それを解放する唯一の方法は、AppDomain を閉じることです。