Де знаходиться GACUTIL для .net Framework 4.0 у Windows 7?


79

Я зробив збірку в .net-фреймворку, яку маю намір опублікувати в GAC, але не можу знайти gacutilцілісність.

Я якийсь час гуглив і знайшов багато пропозицій, але нічого не працює:

  • Скопіюйте збірку в% window% \ assemby [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встановили програму, вам слід знайти .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.


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 bit gacutil.exe знаходиться в

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

Це, схоже, справедливо і для Visual Studio 2013
Ерк,

23

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 та dll System.EnterpriseServices.

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


5

Зараз насправді існує утиліта GAC для .NET 4.0. Він міститься в Microsoft Windows 7 та .NET 4.0 SDK (SDK підтримує декілька ОС - не лише Windows 7 - тому, якщо ви використовуєте пізнішу ОС від Microsoft, великі шанси, що вона підтримується).

Це SDK . Ви можете завантажити ISO або здійснити веб-установку. Надзвичайно надмірно завантажити все, якщо все, що вам потрібно - це GAC Util; проте це працює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.