无论如何从GAC卸载具有特定PublicKeyToken的所有程序集?
我对解决方案是命令行(gacutil.exe等)或通过C#没问题。
编辑:
仅供参考,我可以通过Windows资源管理器执行此操作并转到程序集文件夹并按公钥排序,然后选择所有相关文件并右键单击并说出卸载。如果这是唯一的方法,那么请确认,否则可能“自动化”的替代品会很好。谢谢。
答案 0 :(得分:3)
使用命令行和一点C#很容易:
GacUtil /l
列出CSV行上的所有装配
在keytoken上对此进行过滤,并将名称提供给removelist.txt
GacUtil /ul removelist.txt
答案 1 :(得分: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]
}
}
答案 2 :(得分:0)