2011-08-03 51 views
75

he hecho un ensamblado en el .NET Framework que tengo la intención de publicar en el GAC pero no puedo encontrar el gacutil utlity.¿Dónde está GACUTIL para .NET Framework 4.0 en Windows 7?

He estado buscando en Google un tiempo y me he encontrado una gran cantidad de sugerencias, pero nada funciona:

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

¿Alguien tiene idea para resolver esto?

Respuesta

22

No se incluye Gacutil 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 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, así que si desea usarlo en su máquina de desarrollo, simplemente instale el SDK de Windows para su plataforma actual. A continuación, se dará cuenta de que un sitio como este (dependiendo de la versión SDK):

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

hay una discusión sobre el nuevo GAC aquí: .NET 4.0 has a new GAC, why?

Si desea instalar algo en GAC en una máquina de producción , debe hacerlo de la manera "adecuada" (nunca se pensó en gacutil como una herramienta para instalar cosas en los servidores de producción, solo como una herramienta de desarrollo), con Windows Installer o con otras herramientas. Puede, por ejemplo, hágalo con PowerShell y System.EnterpriseServices dll.

En una nota general, y viniendo de varios años de experiencia, recomendaría encarecidamente contra usando GAC en absoluto. Su aplicación siempre funcionará si implementa la DLL con cada aplicación en su carpeta bin también. 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 de la DLL compartida en el GAC).

72

Si tienes VS2010 instalado, usted debe encontrar un gacutil .NET 4.0 en

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

El 7.0A Windows SDK debería haber sido instalado junto a VS2010 - 6.0A se habrá instalado con VS2008, y por lo tanto no tendrá Compatibilidad con .NET 4.0.

+15

Si está utilizando el sistema de 64 bits, que va a ser C: \ Archivos de programa (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin \ NETFX 4.0 Tools –

+0

Hmm, eso parece. Windows SDK 7.1 está disponible como 64 bits, pero parece que 7.0 solo tenía 32 bits. Extraño, pensé que había copiado la ruta del archivo desde Windows Explorer directamente en mi comentario. –

5

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

Este es el SDK. Puede descargar el ISO o hacer una instalación web. Clase de exceso para descargar todo si todo lo que quiere es el GAC Util; sin embargo, funciona

35

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

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

Esto también parece ser cierto para Visual Studio 2013 – Erk

Cuestiones relacionadas