где gacutil.exe?


120

Я использую 32-разрядную версию Windows 7 Enterprise. Я использовал командную строку Windows, а также командную строку VSTS 2008, но при запуске gacutil.exe возникает ошибка command not found.

Мне интересно, нужно ли мне устанавливать gacutil.exe откуда-то или gacutil.exe находится где-то еще на моем компьютере (я обыскал свой компьютер, но нашел несколько файлов с именем gacutil.exe, я не знаю, какой из них следует использовать) ?

Кстати: я использую .Net 3.5.


См. Мой ответ на
странице

Вы можете просто взять три файла: gacutil.exe, gacutil.exe.configи gacutlrc.dllс компьютером , на котором gacutilуже установлен.
Ant_222

Ответы:


153

gacutil поставляется с Visual Studio, а не с VSTS. Он является частью Windows SDK и может быть загружен отдельно по адресу http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en . Эта установка будет gacutil.exeвключена. Но сначала проверьте это здесь

C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ bin

вы могли бы установить его.

Как упомянул @devi

Если вы решите получить файлы gacutil из существующей установки, обратите внимание, что из .NET 4.0 есть три файла: gacutil.exe gacutil.exe.config и 1033 / gacutlrc.dll


7
остерегайтесь "всего" гига размером (загрузка)
roundcrisis

4
Вот ссылка на загрузку .NET 4.0: microsoft.com/en-gb/download/details.aspx?id=8279
Мэтт Вилко,

10
если вы решите получить файлы gacutil из существующей установки, обратите внимание, что из .NET 4.0 есть три файла: gacutil.exe gacutil.exe.config и 1033 / gacutlrc.dll
gdbdable

8
И, конечно же, в 64-битной версии ОС путь немного изменился, например, Windows 2012 Server находится в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools
Dijkgraaf

68
  1. Откройте командную строку разработчика.
  2. тип

где гакутил


Почему у этого так много голосов, когда типичный человек, который задает этот вопрос, должен задать его, потому что это не в окружении: /
Томас Харрис,

5

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

Утилита Microsoft (R) .NET Global Assembly Cache Utility. Версия 3.5.21022.8 Авторские права (c) Корпорация Microsoft. Все права защищены. Ошибка при добавлении сборки в кэш: эта сборка создается средой выполнения, более новой, чем текущая загруженная среда выполнения, и не может быть загружена.

В .NET 4.0 вам нужно будет искать внутри Microsoft SDK v8.0A, например: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools (в моем случае у меня есть только 32-битная версия, установленная Visual Studio 2012).


2
Почему Microsoft хоронит это в таком безвестном месте? В моей Visual Studio 2010 была сокращена командная строка, но в Visual Studio 2013 она есть, и в среде IDE нет пункта меню (в инструментах, где я и ожидал), чтобы открыть командную строку. Похоже, экосистема разработчика Visual Studio превратилась в беспорядок.
Сэм Голдберг,

В моем экземпляре VS 2013 он находится в Инструменты-> Командная строка Visual Studio. Посмотрите еще раз. (Я бы никогда не подумал заглянуть туда, если бы не ваше предложение, так что спасибо; надеюсь, это поможет.)
Дональд Локер

2

В Windows 2012 R2 нельзя установить Visual Studio или SDK. Вы можете использовать powershell для регистрации сборок в GAC. Для меня не требовалось никакой специальной установки.

Set-location "C:\Temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Temp\myGacLibrary.dll")

Если вам нужно получить имя и PublicKeyToken, см. Этот вопрос.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.