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