Зарегистрируйте несколько сборок в GAC в Vista - PullRequest
19 голосов
/ 29 августа 2008

У меня есть целый каталог DLL, мне нужно зарегистрироваться в GAC. Я бы хотел не регистрировать каждый файл явно, но похоже, что gacutil не имеет опции «зарегистрировать каталог». У кого-нибудь есть быстрое / простое решение?

Ответы [ 3 ]

34 голосов
/ 29 августа 2008

GACUTIL не регистрирует библиотеки DLL - не в смысле "COM". В отличие от COM, GACUTIL копирует файл в непрозрачный каталог в папке% SYSTEMROOT% \ assembly, откуда они запускаются. Не имеет смысла просить GACUTIL «зарегистрировать папку» (не то, что вы можете сделать это и с RegSvr32).

Вы можете использовать пакетную команду FOR, например:

FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a

Если вы поместите это в пакетный файл, вы должны заменить% a на %% a

11 голосов
/ 29 августа 2008

Вот скрипт, который вы бы поместили в пакетный файл, чтобы зарегистрировать все файлы в текущем каталоге в Gacutil. Вам не нужно помещать его в командный файл (вы можете просто скопировать / вставить его в командную строку), чтобы сделать это.

FOR %1 IN (*) DO Gacutil /i %1

Редактировать: Бах, прости, я опоздал. Я не видел предыдущий пост, когда выложил свой.

2 голосов
/ 03 мая 2015

Использование

gacutil / il YourPathTo_A_TextFile.txt

, если у вас есть dll в нескольких разных папках. В противном случае используйте цикл for ... in, упомянутый в евро.

Текстовый файл должен содержать список путей сборки (один путь на строку), которые должны быть установлены. Пути также могут быть разными папками по всей системе. Запустите командную строку от имени администратора!

Вот пример YourPathTo_A_TextFile.txt:

C: \ ... Microsoft.Practices.EnterpriseLibrary.Common.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapter.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Data.dll

...