Где GACUTIL для .net Framework 4.0 в Windows 7? - PullRequest
79 голосов
/ 03 августа 2011

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

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

  • Скопировать сборку в% window% \ assembly> 1007 *
  • Скопировать сборку в% 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]

У кого-нибудь есть идея, чтобы решить эту проблему?

Ответы [ 4 ]

73 голосов
/ 13 сентября 2011

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

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

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

36 голосов
/ 27 сентября 2012

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

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
23 голосов
/ 03 августа 2011

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

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

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

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

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

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

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

5 голосов
/ 01 ноября 2011

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

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

...