有沒有辦法從GAC中卸載所有具有特定PublicKeyToken的程序集?如何通過PublicKeyToken從GAC批量卸載組件?
我很好,解決方案是命令行(gacutil.exe等)或通過C#。
編輯:
僅供參考,我可以通過Windows資源管理器做到這一點,要裝配的文件夾和排序公鑰和他們選擇的問題,並右擊所有的人,說卸載。如果這是唯一的方法,那麼請確認,否則可能是「自動化」的替代品會很好。謝謝。
有沒有辦法從GAC中卸載所有具有特定PublicKeyToken的程序集?如何通過PublicKeyToken從GAC批量卸載組件?
我很好,解決方案是命令行(gacutil.exe等)或通過C#。
編輯:
僅供參考,我可以通過Windows資源管理器做到這一點,要裝配的文件夾和排序公鑰和他們選擇的問題,並右擊所有的人,說卸載。如果這是唯一的方法,那麼請確認,否則可能是「自動化」的替代品會很好。謝謝。
通過命令行和一個小C#很容易:
GacUtil /l
列出了CSV行中的所有組件。
過濾器本就keytoken,如果你喜歡Powershell
,你可以使用類似這樣喂名到removelist.txt
爲
GacUtil /ul removelist.txt
:
& '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-06 20:35:18
也許Powershell有這個,其他網站的技巧。但我會稱之爲合理的自動化。 – 2011-06-06 20:41:47