Как зарегистрировать DLL файл .NET в GAC?

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

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

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

Это говорит, что путь не верен.

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

Ответ 1

Вы можете сделать это, используя инструмент gacutil. В простейшей форме:

gacutil /i yourdll.dll

Вы найдете командную строку Visual Studio в меню "Пуск" в разделе "Программы" → "Visual Studio" → "Инструменты Visual Studio".

Ответ 2

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

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

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

Ответ 3

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

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

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

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

Ответ 4

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

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

-Tom

Ответ 5

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

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

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

gacutil.exe /l "assemblyName"

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

gacutil.exe /i "assemblyName"

Или, отбросив файл сборки в следующем месте с помощью GUI:

%windir%\assembly\

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

gacutil.exe /?

Ответ 6

  • Запустить команду командной строки разработчика для V2012 или любой установленной версии в вашей системе

  • gacutil/i pathofDll

  • Enter

Готово!!!

Ответ 7

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

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

Ответ 8

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

Ответ 9

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

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

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

Ответ 10

От вкладки "Опубликовать" перейдите в приложение "Файлы", а затем ненужные файлы делают исключение, чем "ok". Создайте файлы проекта. И выполните проекты.

Ответ 11

Вышеупомянутые решения выглядят изумительно. Однако, чтобы быть простым, все, что вам нужно, я думаю, это ввести имя сборки вместе со своим полным путем, например:

gacutil -i C:\MyDlls\GacDeployedAssemblies\dllname.dll

Обратите внимание на C:\MyDlls\GacDeployedAssemblies