¿Dónde está gacutil.exe?

120

Estoy usando Windows 7 Enterprise de 32 bits. He usado la línea de comandos de Windows y también la línea de comandos VSTS 2008, pero al ejecutar gacutil.exe, hay un error de comando no encontrado.

Me pregunto si necesito instalar gacutil.exe desde algún lugar o si gacutil.exe se encuentra en otro lugar de mi computadora (busqué en mi computadora, pero encontré varios archivos llamados gacutil.exe, no sé cuál debería usarse) ?

Por cierto: estoy usando .Net 3.5.

George2
fuente
Vea mi respuesta en ... stackoverflow.com/questions/25154024/…
Dooie
Simplemente puede tener tres archivos: gacutil.exe, gacutil.exe.configy gacutlrc.dlldesde un PC, donde gacutilya está instalado.
Ant_222

Respuestas:

153

gacutil viene con Visual Studio, no con VSTS. Es parte del SDK de Windows y se puede descargar por separado en http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en . Esta instalación habrá gacutil.exeincluido. Pero primero compruébalo aquí

C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v6.0A \ bin

es posible que lo tenga instalado.

Como mencionó @devi

Si decide tomar archivos gacutil de la instalación existente, tenga en cuenta que desde .NET 4.0 hay tres archivos: gacutil.exe gacutil.exe.config y 1033 / gacutlrc.dll

Andrey
fuente
7
cuidado con "sólo" un concierto en tamaño (la descarga)
roundcrisis
4
Aquí está el enlace a la descarga de .NET 4.0: microsoft.com/en-gb/download/details.aspx?id=8279
Matt Wilko
10
si decide tomar archivos gacutil de la instalación existente, tenga en cuenta que desde .NET 4.0 hay tres archivos: gacutil.exe gacutil.exe.config y 1033 / gacutlrc.dll
gdbdable
8
Y, por supuesto, con la versión de 64 bits del sistema operativo, la ruta se cambia ligeramente, por ejemplo, Windows 2012 Server está en C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools
Dijkgraaf
68
  1. Abra el símbolo del sistema del desarrollador.
  2. tipo

donde gacutil

nikita
fuente
¿Por qué esto tiene tantos votos positivos cuando la persona típica que estaría haciendo esta pregunta es la que tiene que hacerla porque no está en una ruta de entorno? /
Thomas Harris
5

Puede usar la versión en el SDK de Windows, pero a veces puede que no sea la misma versión de .NET Framework que usa, obteniendo el siguiente error:

Utilidad de caché de ensamblados global de Microsoft (R) .NET. Versión 3.5.21022.8 Copyright (c) Microsoft Corporation. Todos los derechos reservados. Error al agregar el ensamblado a la caché: este ensamblado está construido por un tiempo de ejecución más nuevo que el tiempo de ejecución cargado actualmente y no se puede cargar.

En .NET 4.0, deberá buscar dentro de Microsoft SDK v8.0A, por ejemplo: C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools (en mi caso solo tengo las Versión de 32 bits instalada por Visual Studio 2012).

Tiago Dias
fuente
2
¿Por qué Microsoft esconde esto en un lugar tan oscuro? Mi Visual Studio 2010 tenía un atajo al símbolo del sistema, pero Visual Studio 2013 sí lo tiene, y no hay una opción de menú en el IDE (debajo de las herramientas, que es donde lo esperaría) para abrir el símbolo del sistema. Parece que el ecosistema de desarrolladores de Visual Studio se ha convertido en un desastre.
Sam Goldberg
Mi instancia de VS 2013 la tiene en Herramientas-> Símbolo del sistema de Visual Studio. Eche un vistazo de nuevo. (Nunca hubiera pensado en mirar allí si no fuera por su sugerencia, así que gracias; espero que esto ayude).
Donald Locker
2

En Windows 2012 R2, no puede instalar Visual Studio o SDK. Puede usar powershell para registrar ensamblados en GAC. No necesitaba ninguna instalación especial para mí.

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")

Si necesita obtener el nombre y PublicKeyToken, consulte esta pregunta.

ritikaadit2
fuente