Publish.GacRemove関数を使用して、GAC からアセンブリを削除したいと考えています。しかし、どのパスを引数に渡せばいいのかわかりません。
元の DLL へのパス (GAC にインストールした後に削除した場合はどうなりますか?) または GAC のアセンブリへのパスでしょうか?
アップデート:
最終的にこれらの API ラッパーを使用しました。
Publish.GacRemove関数を使用して、GAC からアセンブリを削除したいと考えています。しかし、どのパスを引数に渡せばいいのかわかりません。
元の DLL へのパス (GAC にインストールした後に削除した場合はどうなりますか?) または GAC のアセンブリへのパスでしょうか?
アップデート:
最終的にこれらの API ラッパーを使用しました。
を使用GacInstall
してアセンブリを公開していますが、gac にインストールすると、アセンブリの「一時的な」コピーを削除することがあります。
そして、gac からアセンブリをアンインストールしたい場合、元のパスにファイルがありません。GacRemove
元のファイルを保持しない限り、アセンブリをアンインストールする方法を取得できないように見えるため、これが問題を引き起こしています。
結論: はい、元の DLL へのパスを指定する必要があります。(そして、後で移動/削除しないようにしてください)。削除した場合は、ファイルを GAC から元のパスにコピーしてみてくださいGacRemove
。
正確にはわかりませんが、GacRemove は gacutil /u と同じことを行うべきだと思います。したがって、これは DLL のパスである必要があります。ただし、同じ DLL ファイルである必要はありません。重要なのは DLL の uniqueID であるため、オリジナルのコピーで十分です。