2011-08-03 16 views
75

Zrobiłem montaż w środowisku .net, który zamierzam opublikować w GAC, ale nie mogę znaleźć narzędzia gacutil.Gdzie jest GACUTIL dla .net Framework 4.0 w Windows 7?

Byłem googlowania chwilę i znalazłem wiele sugestii, ale nic nie działa:

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

Czy ktoś ma pomysł, aby rozwiązać ten problem?

Odpowiedz

22

Nie ma Gacutil w standardowej instalacji .net 4.0. Przenieśli także GAC z% Windir% \ assembly na% Windir% \ Microsoft.NET \ Assembly.

Nie zawracali sobie głowy dodawaniem "specjalnego widoku" do folderu w eksploratorze Windows, tak jak mają to w przypadku .NET 1.0/2.0 GAC.

Gacutil jest częścią zestawu Windows SDK, więc jeśli chcesz go używać na komputerze deweloperskim, zainstaluj zestaw Windows SDK dla bieżącej platformy. Wtedy można go znaleźć gdzieś tak (w zależności od wersji SDK):

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

Jest tam dyskusja na temat nowej GAC tutaj: .NET 4.0 has a new GAC, why?

Jeśli chcesz zainstalować coś w GAC na maszynie produkcyjnej musisz to zrobić "w odpowiedni sposób" (gacutil nigdy nie był narzędziem do instalowania rzeczy na serwerach produkcyjnych, tylko jako narzędzie programistyczne), z Instalatorem Windows lub innymi narzędziami. Możesz np. zrób to za pomocą PowerShell i biblioteki System.EnterpriseServices.

Ogólnie rzecz biorąc, z kilkuletniego doświadczenia osobiście zdecydowanie polecam przeciwko przy użyciu GAC w ogóle. Twoja aplikacja zawsze będzie działać, jeśli wdrożysz bibliotekę DLL z każdą aplikacją w folderze bin. Tak, otrzymasz wiele kopii biblioteki DLL na serwerze, jeśli masz np. wiele aplikacji internetowych na jednym serwerze, ale na pewno warto skorzystać z możliwości uaktualnienia jednej aplikacji bez naruszania pozostałych (poprzez wprowadzenie niekompatybilnej wersji współużytkowanej biblioteki DLL w GAC).

72

Jeśli masz VS2010 zainstalowany, powinno się znaleźć w .NET 4.0 gacutil

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

7.0A Windows SDK powinny zostać zainstalowane obok VS2010 - 6.0A zostaną zainstalowane VS2008, a więc nie będzie miał Obsługa .NET 4.0.

+15

Jeśli używasz systemu 64-bitowego, to będzie to C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools –

+0

Hmm, więc wygląda na to. Windows SDK 7.1 jest dostępny w wersji 64-bitowej, ale wydaje się, że 7.0 był tylko 32-bitowy. Dziwne, pomyślałem, że skopiowałem ścieżkę pliku z Eksploratora Windows bezpośrednio do mojego komentarza. –

5

W rzeczywistości istnieje teraz narzędzie GAC dla .NET 4.0. Można go znaleźć w pakietach Microsoft Windows 7 i .NET 4.0 SDK (SDK obsługuje wiele systemów operacyjnych - nie tylko Windows 7 - więc jeśli korzystasz z nowszego systemu operacyjnego Microsoftu z Microsoft, szanse na to, że jest on obsługiwany) są wysokie. To jest . Możesz pobrać wersję ISO lub zainstalować w sieci. Kind-of overkill, aby pobrać całą rzecz, jeśli chcesz tylko GAC Util; jednak to działa.

35

VS 2012/13 Win 7 64 bit Gacutil.exe znajduje się w

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

To również wydaje się być prawdziwe dla Visual Studio 2013 – Erk

Powiązane problemy