2010-02-02 6 views
64

Я создал файл .NET DLL, который я хочу зарегистрировать в GAC. Я использовал эту команду в командной строке Windows Server 2003.Как зарегистрировать DLL-файл .NET в GAC?

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

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

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

+1

Вам понадобится пространство между 'gacutil' и'/i' – GregC

ответ

16

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

+2

Вам нужно будет войти в систему с учетной записью администратора, поскольку «Run As» недоступен для drag-n-drop. –

+4

Это не влияет на мой конец - библиотека не добавлена, сообщение об ошибке отсутствует. Я использую учетную запись администратора. – 2014-07-22 23:03:28

+4

«В более ранних версиях .NET Framework, Shfusion.dll Расширение оболочки Windows позволило вам установить сборки, перетащив их в Проводник. Начиная с .NET Framework 4, Shfusion.dll устарел ». Https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.110).aspx – njplumridge

2

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

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

+3

Никто не должен бояться из командной строки. – itsho

84

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

gacutil /i yourdll.dll 

Вы найдете строку Visual студии Command в меню Пуск при программы ->Visual Studio ->Инструменты Visual Studio Tools.

+7

Vineet, похоже, уже это знает. – 2010-02-02 06:59:57

+1

Если у вас нет Visual Studio, вы можете получить доступ к gacutil.exe в C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools \ По крайней мере, там, где он существует на сервере Win2012R2. – sonyisda1

10

From Wikipedia:

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

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

gacutil.exe /l "assemblyName" 

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

gacutil.exe /i "assemblyName" 

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

%windir%\assembly\ 

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

gacutil.exe /? 
3

Как сказал Андо, просто перетащить сборку в C: \ Windows \ сборки папка. Оно работает.

+0

Акцент на «перетаскивание» - копирование и вставка не работает. – Todd

30

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

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

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

+1

+1 установлен на сборке – asakura89

11

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

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

-Tom

3
  • Run Разработчик командной строки Для V2012 или любой версии установлен в системе

  • gacutil/я pathofDll

  • Введите

Done !!!

+0

. Командная строка «Developer», хорошо! Поскольку gacutil недоступен для сборки командной строки – Muds

0

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

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

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

1

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

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

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

0

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

+1

, пожалуйста, отформатируйте ответ правильно – WhatsThePoint

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