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

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

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

  • Скопируйте сборку в% window%\assemblyy [DOES NOT WORK]
  • Скопировать сборку в% window%\Microsoft.NET\assembly [DOES NOT WORK]
  • C:\Program Files\Microsoft SDK\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]

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

Ответ 1

Если у вас установлен 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.

Ответ 2

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

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

Ответ 3

В стандартную установку .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 SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools

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

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

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

Ответ 4

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

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