2

特定のPublicKeyTokenを持つGACからすべてのアセンブリをアンロードする方法はありますか?

解決策はコマンドライン(gacutil.exeなど)またはC#経由で問題ありません。

編集:

参考までに、Windowsエクスプローラーを使用してこれを実行し、アセンブリフォルダーに移動して公開鍵で並べ替えると、問題のすべてのものが選択され、右クリックして[アンインストール]と表示されます。これが唯一の方法である場合は、確認してください。そうでない場合は、「自動化」できる代替手段が適しています。ありがとう。

4

3 に答える 3

3

コマンドラインと小さなC#があれば、簡単です。

GacUtil /l  

CSV行にすべてのアセンブリを一覧表示します。
キートークンでこれをフィルタリングし、名前をremovelist.txtforにフィードします

GacUtil /ul removelist.txt
于 2011-06-06T20:32:38.507 に答える
1

必要に応じて、次のようなPowershellものを使用できます。

& 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\gacutil.exe' /L | 
  where { $_ -match '^  ([\w\.]+,.*)$' } |
  foreach {
    if ($matches[1].contains("PublicKeyToken=d7e1d90e83a016b1")) {
      & 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\gacutil.exe' /u $matches[1]
    }
  }
于 2011-06-06T20:57:52.233 に答える
0

GAC APIを使用して、独自のツールをコーディングできます。これがAPIの管理されたバージョンです。

于 2011-06-06T21:15:36.857 に答える