2010-02-02 88 views
64

He creado un archivo .NET DLL, que deseo registrar en el GAC. He usado este comando en Windows Server 2003 Símbolo del sistema.¿Cómo registro un archivo .NET DLL en el GAC?

C:\"Path of dll"\> gacutil/i dllname.dll 

Dice que la ruta no es correcta.

¿Necesito usar esto en un símbolo del sistema .NET cmd? Si es así, no puedo ubicar el .cm cmd promt '.

+1

Necesitará un espacio entre 'gacutil' y'/i' – GregC

Respuesta

16

Simplemente arrastre y suelte el archivo DLL en la carpeta C:\Windows\assembly usando Windows Explorer.

+2

Debería haber iniciado sesión con una cuenta de administrador ya que "Ejecutar como" no está disponible para arrastrar y soltar. –

+4

Esto no tiene ningún efecto en mi extremo: la biblioteca no se agrega, no hay ningún mensaje de error. Estoy usando una cuenta de administrador. –

+4

"En versiones anteriores de .NET Framework, el Shfusion.La extensión de shell de Windows dll le permitió instalar ensamblajes arrastrándolos en el Explorador de archivos. A partir de .NET Framework 4, Shfusion.dll está obsoleto. "Https://msdn.microsoft.com/en-us/library/dkkx7f79(v=vs.110).aspx – njplumridge

2

Pruebe GACView si tiene dudas acerca de las instrucciones del comando.

No ha configurado correctamente la RUTA en DOS. Debe señalar la ruta hacia donde reside el gacutil para usarla en DOS.

+3

nadie debería temer desde el símbolo del sistema – itsho

84

Puede hacerlo utilizando la herramienta gacutil. En su forma más simple:

gacutil /i yourdll.dll 

Usted encuentra el Visual Studio Símbolo del sistema en el menú de inicio bajo Programas ->Visual Studio ->Visual Studio Tools.

+7

Vineet parece saber esto ya. –

+1

Si no tiene Visual Studio, puede acceder a gacutil.exe en C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools \ Al menos eso es donde existe en un servidor Win2012R2. – sonyisda1

10

From Wikipedia:

gacutil.exe es la utilidad .NET usada para trabajar con el GAC .

Se puede comprobar la disponibilidad de un ensamblado compartido en GAC utilizando el comando:

gacutil.exe /l "assemblyName" 

Se puede registrar un ensamblado compartido en el GAC utilizando el comando:

gacutil.exe /i "assemblyName" 

O al soltar un archivo de ensamblaje en la siguiente ubicación mediante la GUI:

%windir%\assembly\ 
se describirán brevemente

Otras opciones para esta utilidad si se utiliza el indicador /?, es decir:

gacutil.exe /? 
3

Como dijo ando, simplemente arrastrar y soltar a la asamblea a la carpeta C: \ Windows \ assembly carpeta. Funciona.

+0

Énfasis en "arrastrar y soltar" - copiar y pegar no funciona – Todd

30

Necesitará:

  • nombre de Fuerte la pestaña de montaje (Visual Studio, Propiedades del proyecto, pestaña de firma, firmar el ensamblado)
  • alterar sus Eventos de generación (Propiedades del proyecto, eventos de generación, Post- construir la línea de comandos)
 
    cd C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin 
    gacutil.exe /i "$(TargetPath)" /f /nologo 
    gacutil /l "$(TargetName)" /nologo 

Ahora, cada vez que construir su proyecto, que va a ser instalado en el GAC.

+1

+1 instalado en la compilación – asakura89

11

Estas respuestas no indican que gacutil reside en C: \ WINDOWS \ Microsoft.NET \ Framework \ v1.1 * por cierto.

No lo tenía en mi carpeta v2.0. Pero traté de arrastrar & soltando el archivo DLL en la carpeta C: \ WINDOWS \ Assembly como se sugirió aquí anteriormente y que era más fácil y funciona, siempre que sea una biblioteca .NET. También probé una biblioteca COM y esto falló con un error que esperaba un manifiesto de ensamblado. Sé que esa no era la pregunta aquí, pero pensé que mencionaría que, en caso de que alguien descubra que no pueden agregarla, esa podría ser la razón.

-Tom

3
  • Run desarrollador Símbolo del sistema Para V2012 o cualquier versión instalada en su sistema

  • gacutil/i pathofDll

  • Introduzca

Done !!!

+0

mencionando El símbolo del sistema de 'Desarrollador', ¡bien! Como el comando gacutil no está disponible para generar el símbolo del sistema – Muds

0

Las soluciones anteriores se ven maravillosas. Sin embargo, para ser simple, todo lo que tiene que supongo es introducir el nombre del ensamblado junto con su ruta completa como:

gacutil -i C:\MyDlls\GacDeployedAssemblies\dllname.dll 

Prestando atención a C: \ MyDlls \ GacDeployedAssemblies

1

En caso de ventanas 7 gacutil.exe (para poner el ensamblado en GAC) y sn.exe (para garantizar la exclusividad del ensamblado) reside en C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin

Luego vaya a la ruta de acceso de gacutil como se muestra a continuación ejecuta el siguiente comando después de reemplazar la ruta de su ensamblaje

C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin>/i gacutil "Reemplazar con la ruta del ensamblado para ser puesto en GAC"

0

De pestaña Publicar ir a la aplicación Los archivos hacen clic en los archivos innecesarios hacen la exclusión que bien. Crea archivos de proyectos. Y ejecuta proyectos.

+1

, formatee su respuesta correcta – WhatsThePoint

Cuestiones relacionadas