1

Publish.GacRemove関数を使用して、GAC からアセンブリを削除したいと考えています。しかし、どのパスを引数に渡せばいいのかわかりません。

元の DLL へのパス (GAC にインストールした後に削除した場合はどうなりますか?) または GAC のアセンブリへのパスでしょうか?

アップデート:

最終的にこれらの API ラッパーを使用しました。

4

2 に答える 2

2

を使用GacInstallしてアセンブリを公開していますが、gac にインストールすると、アセンブリの「一時的な」コピーを削除することがあります。

そして、gac からアセンブリをアンインストールしたい場合、元のパスにファイルがありません。GacRemove元のファイルを保持しない限り、アセンブリをアンインストールする方法を取得できないように見えるため、これが問題を引き起こしています。

結論: はい、元の DLL へのパスを指定する必要があります。(そして、後で移動/削除しないようにしてください)。削除した場合は、ファイルを GAC から元のパスにコピーしてみてくださいGacRemove

于 2008-09-05T13:06:26.587 に答える
1

正確にはわかりませんが、GacRemove は gacutil /u と同じことを行うべきだと思います。したがって、これは DLL のパスである必要があります。ただし、同じ DLL ファイルである必要はありません。重要なのは DLL の uniqueID であるため、オリジナルのコピーで十分です。

于 2008-09-05T13:05:20.630 に答える