gdzie jest gacutil.exe?

120

Używam 32-bitowego systemu Windows 7 Enterprise. Użyłem wiersza poleceń systemu Windows, a także wiersza poleceń VSTS 2008, ale podczas wykonywania gacutil.exe pojawia się błąd polecenia nie znaleziono.

Zastanawiam się, czy muszę gdzieś zainstalować gacutil.exe, czy też gacutil.exe znajduje się w innym miejscu na moim komputerze (przeszukałem komputer, ale znalazłem kilka plików o nazwie gacutil.exe, nie wiem, który powinien być użyty) ?

BTW: używam .Net 3.5.

George2
źródło
Zobacz moją odpowiedź na ... stackoverflow.com/questions/25154024/…
Dooie
Można po prostu wziąć trzy pliki: gacutil.exe, gacutil.exe.configoraz gacutlrc.dllz komputera gdzie gacutiljest już zainstalowany.
Ant_222,

Odpowiedzi:

153

gacutil jest dostarczany z Visual Studio, a nie z VSTS. Jest częścią zestawu Windows SDK i można go pobrać osobno ze strony http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en . Ta instalacja będzie gacutil.exezawierać. Ale najpierw sprawdź to tutaj

C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin

możesz mieć to zainstalowane.

Jak wspomniał @devi

Jeśli zdecydujesz się pobrać pliki gacutil z istniejącej instalacji, pamiętaj, że z .NET 4.0 są trzy pliki: gacutil.exe gacutil.exe.config i 1033 / gacutlrc.dll

Andrey
źródło
7
uważaj na „tylko” koncert w rozmiarze (do pobrania)
roundcrisis
4
Oto link do pobrania .NET 4.0: microsoft.com/en-gb/download/details.aspx?id=8279
Matt Wilko,
10
jeśli zdecydujesz się pobrać pliki gacutil z istniejącej instalacji, pamiętaj, że z .NET 4.0 są trzy pliki: gacutil.exe gacutil.exe.config i 1033 / gacutlrc.dll
gdbdable
8
I oczywiście w 64-bitowej wersji systemu operacyjnego ścieżka ulega nieznacznej zmianie, np. Windows 2012 Server znajduje się w C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools
Dijkgraaf
68
  1. Otwórz wiersz polecenia dewelopera.
  2. rodzaj

gdzie gacutil

nikita
źródło
1
Dlaczego ma to tak wiele pozytywnych głosów, skoro typową osobą, która zadawałaby to pytanie, jest ta, która musi je zadać, ponieważ nie znajduje się na ścieżce środowiskowej: /
Thomas Harris
5

Możesz użyć wersji w Windows SDK, ale czasami może to nie być ta sama wersja .NET Framework, której używasz, powodując następujący błąd:

Narzędzie Microsoft (R) .NET Global Assembly Cache Utility. Wersja 3.5.21022.8 Copyright (c) Microsoft Corporation. Wszelkie prawa zastrzeżone. Błąd podczas dodawania zestawu do pamięci podręcznej: ten zestaw jest tworzony przez środowisko uruchomieniowe nowsze niż aktualnie załadowane środowisko uruchomieniowe i nie można go załadować.

W .NET 4.0 musisz przeszukać Microsoft SDK v8.0A, np .: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools (w moim przypadku mam tylko Wersja 32-bitowa zainstalowana przez Visual Studio 2012).

Tiago Dias
źródło
2
Dlaczego Microsoft zakopuje to w tak nieznanym miejscu? Mój Visual Studio 2010 miał skrót do wiersza polecenia, ale Visual Studio 2013 ma to i nie ma opcji menu w IDE (pod narzędziami, w których bym się tego spodziewał), aby otworzyć wiersz polecenia. Wydaje się, że ekosystem programisty Visual Studio stał się bałaganem.
Sam Goldberg
Moje wystąpienie VS 2013 ma to w Tools-> Visual Studio Command Prompt. Spójrz ponownie. (Nigdy bym nie pomyślał, żeby tam zajrzeć, ale za twoją sugestię, więc dziękuję; mam nadzieję, że to pomoże.)
Donald Locker
2

W systemie Windows 2012 R2 nie można zainstalować programu Visual Studio ani zestawu SDK. Możesz użyć PowerShell do rejestrowania zestawów w GAC. Nie wymagało to dla mnie żadnej specjalnej instalacji.

Set-location "C:\Temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Temp\myGacLibrary.dll")

Jeśli potrzebujesz uzyskać nazwę i PublicKeyToken, zobacz to pytanie.

ritikaadit2
źródło