Как мне зарегистрировать файл .NET DLL в GAC? - PullRequest
75 голосов
/ 02 февраля 2010

Я создал файл .NET .DLL, который я хочу зарегистрировать в GAC .

Я использовал эту команду в Windows Server 2003 Командная строка:

C:\"Path of dll"\>  gacutil /i dllname.dll

Там написано, что путь неправильный.

Нужно ли использовать это в командной строке .NET? Если это так, я не могу найти приглашение .NET cmd.

Ответы [ 11 ]

93 голосов
/ 02 февраля 2010

Это можно сделать с помощью инструмента gacutil. В простейшем виде:

gacutil /i yourdll.dll

Командная строка Visual Studio находится в меню «Пуск» в разделе Программы -> Visual Studio -> Инструменты Visual Studio .

33 голосов
/ 02 февраля 2010

Вам понадобится:

  • Строгое имя вашей сборки (Visual Studio, Свойства проекта, вкладка Подписи, Подписать сборку)
  • Изменение событий сборки (Свойства проекта, вкладка События сборки, командная строка после сборки)
   cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
   gacutil.exe /i "$(TargetPath)" /f /nologo
   gacutil /l "$(TargetName)" /nologo

Теперь, каждый раз, когда вы строите свой проект, он будет установлен в GAC.

17 голосов
/ 02 февраля 2010

Просто перетащите файл DLL в папку C:\Windows\assembly с помощью проводника Windows.

Предостережение:

В более ранних версиях .NET Framework Windows Shfusion.dll расширение оболочки позволяет устанавливать сборки, перетаскивая их в файл Проводник. Начиная с .NET Framework 4, Shfusion.dll устарел.

Источник: Как: установить сборку в глобальный кеш сборок

12 голосов
/ 24 июня 2010

Кстати, эти ответы не говорят о том, что gacutil находится в C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1 *.

У меня его не было в v2.0папка.Но я попытался перетащить библиотеку DLL в папку C: \ WINDOWS \ Assembly, как было предложено здесь ранее, и это было проще и работает, если это библиотека .NET.Я также попробовал библиотеку COM, и это не удалось с ошибкой, что она ожидала манифеста сборки.Я знаю, что здесь вопрос не в этом, но подумал, что упомяну, что в случае, если кто-то узнает, что не может добавить его, возможно, именно поэтому.

-Tom

10 голосов
/ 02 февраля 2010

Из Википедии :

gacutil.exe - это утилита .NET, используемая для работы с GAC .

Проверить наличие общей сборки в GAC можно с помощью команды:

gacutil.exe /l "assemblyName"

Можно зарегистрировать общую сборку в GAC с помощью команды:

gacutil.exe /i "assemblyName"

Или путем перетаскивания файла сборки в следующее место с помощью графического интерфейса:

%windir%\assembly\

Другие параметры этой утилиты будут кратко описаны, если вы используете флаг /?, то есть:

gacutil.exe /?
4 голосов
/ 14 апреля 2015
  • Запустить командную строку разработчика для V2012 или любой другой установленной версии в вашей системе

  • gacutil / i pathofDll

  • Введите

Готово !!!

3 голосов
/ 02 февраля 2010

Как сказал ando, просто перетащите сборку в папку C: \ windows \ assembly. Это работает.

3 голосов
/ 02 февраля 2010

Попробуйте GACView , если вы боитесь командной строки.

Вы неправильно установили PATH в DOS. Вам нужно указать путь к месту, где находится gacutil, чтобы использовать его в DOS.

1 голос
/ 25 июля 2017

На вкладке «Публикация» перейдите в «Файлы приложения», затем нажмите ненужные файлы, а затем «исключите». Создание файлов проекта. И запуск проектов.

1 голос
/ 28 февраля 2017

В случае Windows 7 gacutil.exe (для помещения сборки в GAC) и sn.exe (для обеспечения уникальности сборки) находятся в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin

Затем перейдите к пути gacutil, как показано ниже, выполните приведенную ниже команду после замены пути вашей сборки

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin> gacutil / i "заменить на путь вашей сборки для помещения в GAC"

...