¿Dónde está GACUTIL para .net Framework 4.0 en Windows 7?

79

He realizado un ensamblado en el marco .net que tengo la intención de publicar en el GAC, pero no puedo encontrar la gacutilutilidad.

He estado buscando en Google un tiempo y he encontrado muchas sugerencias, pero nada funciona:

  • Copie el ensamblado en% ventana% \ ensamblado [DOES NOT WORK]
  • Copie el ensamblado en% window% \ Microsoft.NET \ assembly [DOES NOT WORK]
  • C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "ensamblaje" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

¿Alguien tiene idea para solucionar esto?

Flavio Oliveira
fuente

Respuestas:

73

Si tiene VS2010instalado, debe encontrar un gacutil .NET 4.0 en

C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

El 7.0A Windows SDKdebería haber sido instalado junto VS2010 - 6.0Ahabrá sido instalado con VS2008, y por lo tanto no tendrá .NET 4.0 apoyo.

Ade Stringer
fuente
15
Si está utilizando un sistema de 64 bits, será C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools
Daniel Cai
Hmm, eso parece. Windows SDK 7.1 está disponible en 64 bits, pero parece que 7.0 era solo de 32 bits. Extraño, pensé que había copiado la ruta del archivo desde el Explorador de Windows directamente en mi comentario.
Ade Stringer
36

VS 2012/13 Win 7 64 bit gacutil.exe se encuentra en

C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools
Navarra
fuente
Esto también parece ser cierto para Visual Studio 2013
Erk
23

No hay Gacutil incluido en la instalación estándar de .net 4.0. También han movido el GAC, de% Windir% \ assembly a% Windir% \ Microsoft.NET \ Assembly.

Ni siquiera se han molestado en agregar una "vista especial" para la carpeta en el explorador de Windows, como lo han hecho para .net 1.0 / 2.0 GAC.

Gacutil es parte del SDK de Windows, por lo que si desea usarlo en su máquina de desarrollo, simplemente instale el SDK de Windows para su plataforma actual. Luego lo encontrará en algún lugar como este (según la versión de su SDK):

C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

Hay una discusión sobre el nuevo GAC aquí: .NET 4.0 tiene un nuevo GAC, ¿por qué?

Si desea instalar algo en GAC en una máquina de producción, debe hacerlo de la manera "adecuada" (gacutil nunca fue pensado como una herramienta para instalar cosas en servidores de producción, solo como una herramienta de desarrollo), con un instalador de Windows, o con otras herramientas. Por ejemplo, puede hacerlo con PowerShell y System.EnterpriseServices dll.

En una nota general, y a raíz de varios años de experiencia, personalmente recomendaría encarecidamente no usar GAC en absoluto. Su aplicación siempre funcionará si implementa la DLL con cada aplicación en su carpeta bin. Sí, obtendrá múltiples copias de la DLL en su servidor si tiene, por ejemplo, múltiples aplicaciones web en un servidor, pero definitivamente vale la pena la flexibilidad de poder actualizar una aplicación sin romper las otras (al introducir una versión incompatible del archivo compartido DLL en el GAC).

Erik A. Brandstadmoen
fuente
5

De hecho, ahora existe una utilidad GAC para .NET 4.0. Se encuentra en Microsoft Windows 7 y .NET 4.0 SDK (el SDK es compatible con varios sistemas operativos, no solo Windows 7, por lo que si está utilizando un sistema operativo posterior de Microsoft, es muy probable que sea compatible).

Este es el SDK . Puede descargar la ISO o realizar una instalación web. Una especie de exageración para descargar todo si todo lo que quieres es GAC Util; sin embargo, funciona.

ManiacCoder
fuente