2011-06-06 1 views
2

Есть ли все-таки выгрузить все сборки из GAC, которые имеют определенный PublicKeyToken?Как вы можете массово выгружать сборки из GAC через PublicKeyToken?

Я согласен с тем, что решение является командной строкой (gacutil.exe и т. Д.) Или через C#.

EDIT:

FYI, я могу сделать это с помощью Windows Explorer, и собирается в папку сборки и сортировки открытым ключом и они выбирают все те, о которых идет речь, и правой кнопкой мыши и сказать деинсталляцию. Если это единственный способ, то пожалуйста, подтвердите, иначе альтернативы, которые могут быть «автоматизированы», были бы приятными. Благодарю.

ответ

3

С командной строки и немного C# это легко:

GacUtil /l 

список всех сборок на CSV линиях.
фильтр это на keytoken и кормить имена в removelist.txt для

GacUtil /ul removelist.txt 
+0

Да, я думаю, я могу это сделать, он по-прежнему требует некоторого ручного усилия, хотел бы знать, есть ли что-нибудь лучше, это все еще нелегко автоматизировать. –

+0

Возможно, у Powershell есть трюки для этого, другого веб-сайта. Но я бы назвал это разумно автоматизированным. –

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] 
    } 
    } 
0

Вы можете использовать GAC API закодировать свой собственный инструмент , Here - управляемая версия API.

 Смежные вопросы

  • Нет связанных вопросов^_^