де gacutil.exe?


120

Я використовую Windows 7 Enterprise 32 біт. Я використовував командний рядок Windows, а також використовував командний рядок VSTS 2008, але при виконанні gacutil.exe, помилка команди не знайдена.

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

До речі: я використовую .Net 3.5.


Дивіться моя відповідь на ... stackoverflow.com/questions/25154024 / ...
Dooie

Ви можете просто взяти три файли: 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: \ програмні файли \ пакети Microsoft SDK \ Windows \ v6.0A \ bin

ви можете встановити його.

Як згадував @devi

Якщо ви вирішили взяти файли gacutil з існуючої установки, зверніть увагу, що з .NET 4.0 є три файли: gacutil.exe gacutil.exe.config та 1033 / gacutlrc.dll


7
остерігайтеся "лише" концерту за розміром (завантаження)
круглий кризис

4
Ось посилання на завантаження .NET 4.0: microsoft.com/en-gb/download/details.aspx?id=8279
Matt Wilko

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 Інструменти
Dijkgraaf

68
  1. Відкрийте командний рядок розробника.
  2. тип

де gacutil


Чому це так багато відгуків, коли типовою людиною, яка задала б це питання, є той, хто повинен його задати, оскільки він не знаходиться в середовищі шляху: /
Томас Харріс,

5

Ви можете використовувати версію в SDK Windows, але іноді це може бути не та сама версія .NET Framework, якою ви користуєтесь, отримуючи таку помилку:

Microsoft (R) .NET Global 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 Інструменти (у моєму випадку у мене є лише 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. Ви можете скористатись повноваженнями для реєстрації збірок в 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.