Где GACUTIL для .net Framework 4.0 в Windows 7?


79

Я сделал сборку в платформе .net, которую собираюсь опубликовать в GAC, но не могу найти gacutilее.

Некоторое время я гуглил и нашел много предложений, но ничего не работает:

  • Скопируйте сборку в% window% \ assembly [DOES NOT WORK]
  • Скопируйте сборку в% window% \ Microsoft.NET \ assembly [DOES NOT WORK]
  • C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "сборка" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

Есть ли у кого-нибудь идея решить это?

Ответы:


73

Если вы VS2010установили, вы должны найти gacutil .NET 4.0 в

C: \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

Он 7.0A Windows SDKдолжен был быть установлен вместе VS2010 - 6.0Aс ним VS2008и, следовательно, не будет иметь поддержки .NET 4.0.


15
Если вы используете 64-битную систему, это будет C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
Daniel Cai

Хм, кажется. Windows SDK 7.1 доступен как 64-разрядная версия, но похоже, что 7.0 была только 32-разрядной. Странно, я подумал, что скопировал путь к файлу из проводника Windows прямо в свой комментарий.
Ade Stringer

36

VS 2012/13 Win 7 64-битный файл gacutil.exe находится в

C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools

Это также похоже на Visual Studio 2013
Erk

23

В стандартную установку .net 4.0 не входит Gacutil. Они также переместили GAC из% Windir% \ assembly в% Windir% \ Microsoft.NET \ Assembly.

Они даже не удосужились добавить «специальное представление» для папки в проводнике Windows, как они это сделали для .net 1.0 / 2.0 GAC.

Gacutil является частью Windows SDK, поэтому, если вы хотите использовать его на своем компьютере для разработки, просто установите Windows SDK для вашей текущей платформы. Тогда вы найдете это где-то так (в зависимости от версии SDK):

C: \ Program Files \ Microsoft SDK \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

Здесь обсуждается новый GAC: .NET 4.0 имеет новый GAC, почему?

Если вы хотите установить что-то в GAC на производственном компьютере, вам нужно сделать это «правильным» способом (gacutil никогда не предназначался как инструмент для установки чего-либо на производственные серверы, а только как инструмент разработки) с помощью установщика Windows, или другими инструментами. Вы можете сделать это, например, с помощью PowerShell и dll System.EnterpriseServices.

В общем плане, и идет от нескольких лет опыта, я бы лично настоятельно рекомендуем против использования GAC вообще. Ваше приложение всегда будет работать, если вы также развернете DLL с каждым приложением в его папке bin. Да, вы получите несколько копий DLL на своем сервере, если у вас есть, например, несколько веб-приложений на одном сервере, но определенно стоит гибкость, позволяющая обновлять одно приложение, не нарушая работу других (путем введения несовместимой версии общего DLL в GAC).


5

На самом деле сейчас существует утилита GAC для .NET 4.0. Он находится в SDK Microsoft Windows 7 и .NET 4.0 (SDK поддерживает несколько ОС, а не только Windows 7, поэтому, если вы используете более позднюю ОС от Microsoft, велика вероятность, что она поддерживается).

Это SDK . Вы можете загрузить ISO-образ или выполнить установку через Интернет. Если вам нужен только GAC Util, то это своего рода излишняя загрузка; однако это действительно работает.

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