Подтвердить что ты не робот

Регистрация нескольких сборок в GAC в Vista

У меня есть целая директория dll Мне нужно зарегистрироваться в GAC. Я хотел бы избежать регистрации каждого файла явно, но, похоже, что gacutil не имеет опции "register directory". У любого есть быстрое/простое решение?

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

Ответ 3

Используйте

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