Gdzie jest GACUTIL dla .NET Framework 4.0 w systemie Windows 7?

79

Zrobiłem montaż w ramach .net, który zamierzam opublikować w GAC, ale nie mogę znaleźć gacutilnarzędzia.

Szukam w Google przez jakiś czas i znalazłem wiele sugestii, ale nic nie działa:

  • Skopiuj assemby do% window% \ assemby [DOES NOT WORK]
  • Skopiuj zestaw do% window% \ Microsoft.NET \ assembly [DOES NOT WORK]
  • C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "assembly" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

Czy ktoś ma pomysł na rozwiązanie tego problemu?

Flavio Oliveira
źródło

Odpowiedzi:

73

Jeśli masz VS2010zainstalowany, powinieneś znaleźć plik gacutil .NET 4.0 pod adresem

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

7.0A Windows SDKPowinny zostać zainstalowane obok VS2010 - 6.0Azostaną zainstalowane VS2008, a więc nie będzie miał wsparcia .NET 4.0.

Ade Stringer
źródło
15
Jeśli używasz systemu 64-bitowego, będzie to C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
Daniel Cai
Hmm, na to wygląda. Windows SDK 7.1 jest dostępny w wersji 64-bitowej, ale wydaje się, że wersja 7.0 była tylko 32-bitowa. Dziwne, pomyślałem, że skopiowałem ścieżkę pliku z Eksploratora Windows bezpośrednio do mojego komentarza.
Ade Stringer
36

VS 2012/13 Win 7 64-bitowy plik gacutil.exe znajduje się w

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools
Nawarra
źródło
Wydaje się, że dotyczy to również programu Visual Studio 2013
Erk
23

W standardowej instalacji .net 4.0 nie ma programu Gacutil. Przenieśli również GAC z% Windir% \ assembly do% Windir% \ Microsoft.NET \ Assembly.

Nie przeszkadzało im nawet dodanie „specjalnego widoku” do folderu w Eksploratorze Windows, tak jak w przypadku GAC .net 1.0 / 2.0.

Gacutil jest częścią Windows SDK, więc jeśli chcesz go używać na swoim komputerze deweloperskim, po prostu zainstaluj Windows SDK dla swojej bieżącej platformy. Wtedy znajdziesz go gdzieś w tym miejscu (w zależności od wersji SDK):

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

Dyskusja na temat nowego GAC jest tutaj: .NET 4.0 ma nowy GAC, dlaczego?

Jeśli chcesz zainstalować coś w GAC na maszynie produkcyjnej, musisz zrobić to w „właściwy” sposób (gacutil nigdy nie był pomyślany jako narzędzie do instalowania rzeczy na serwerach produkcyjnych, tylko jako narzędzie programistyczne), za pomocą Instalatora Windows, lub za pomocą innych narzędzi. Możesz to zrobić np. Za pomocą programu PowerShell i biblioteki dll System.EnterpriseServices.

Na ogólną notatkę i pochodzących z kilkuletnim doświadczeniem, chciałbym osobiście zalecamy przed użyciem GAC w ogóle. Twoja aplikacja będzie zawsze działać, jeśli wdrożysz bibliotekę DLL z każdą aplikacją w jej folderze bin. Tak, otrzymasz wiele kopii biblioteki DLL na swoim serwerze, jeśli masz np. Wiele aplikacji internetowych na jednym serwerze, ale zdecydowanie warto mieć możliwość aktualizacji jednej aplikacji bez przerywania innych (wprowadzając niekompatybilną wersję współdzielonego DLL w GAC).

Erik A. Brandstadmoen
źródło
5

Obecnie istnieje narzędzie GAC dla platformy .NET 4.0. Znajduje się w Microsoft Windows 7 i .NET 4.0 SDK (SDK obsługuje wiele systemów operacyjnych - nie tylko Windows 7 - więc jeśli używasz nowszego systemu operacyjnego firmy Microsoft, istnieje duże prawdopodobieństwo, że jest obsługiwany).

To jest zestaw SDK . Możesz pobrać plik ISO lub przeprowadzić instalację internetową. To rodzaj przesady w pobieraniu całej rzeczy, jeśli wszystko, czego chcesz, to narzędzie GAC; jednak działa.

ManiacCoder
źródło