Pregunta

Estoy intentando añadir un .dll .NET 4.0 al GAC. Estoy tratando de hacer esto, ya que es publicado por una empresa tercera parte tanto como un 32 y 64 bits .dll que debo utilizar de diferentes aplicaciones en diferentes plataformas en ambos formatos.

En cualquier caso, estoy teniendo problemas para registrar esta DLL al GAC en un entorno de Windows Server 2008.

He intentado copiar gacutil.exe (y el apoyo de archivos) encontrar en "C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.0A \ bin \ netfx 4.0 Herramientas" en mi máquina local a la "C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319" carpeta en el servidor de producción objetivo por las sugerencias que se encuentran aquí .

Me trató entonces copiarlos. "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319"

Se ejecuta desde ambos lugares indicados instalación exitosa. Y de hecho, el registro aparece con éxito:

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Sin embargo, ejecutar una aplicación de consola que se refiere a la (64 bits) versión de los errores de DLL con el mensaje siguiente:

  

System.IO.FileNotFoundException: ¿Podría   No archivo de carga o montaje   'ChilkatDotNet4.dll' o uno de sus   Dependencias. El módulo especificado   no pudo ser encontrado. Nombre del archivo:   'ChilkatDotNet4.dll'

Por lo tanto, he creado ahora manualmente las siguientes entradas del GAC utilizando mkdir y copiar desde un símbolo del sistema (que puede o no puede realmente el trabajo no tengo ni idea de lo que es de especial gacutil.exe.):

  • C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll (utilizando la versión de 64 bits de la DLL)
  • C: \ Windows \ assembly \ GAC_64 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll
  • C: \ Windows \ assembly \ GAC_32 \ ChilkatDotNet4 \ v4.0_9.0.8.0__eb5fc1fc52ef09bd \ ChilkatDotNet4.dll

Después de cada "Instalar" de la DLL, I probado y recibió el mismo error. Cualquier ideas son bienvenidas!


Editar : el tema anterior GAC realidad no puede ser el culpable. Resulta que, incluso cuando se crea un nuevo proyecto de aplicación de consola y agregar el .dll directamente (de forma que vive en la papelera), todavía no se pueden ejecutar en el Sever. Además, he notado que las aplicaciones de consola se crean la orientación del perfil de cliente .NET 4.0 en lugar de .NET Framework 4. Cuando trato de ejecutar que la orientación del perfil de cliente, parece que ninguno de los System.Web * bibliotecas están disponibles . Sin embargo, he intentado ejecutar un muy simple aplicación de prueba de orientación ambos y ninguno iba a ejecutar en el servidor mientras se hace referencia a la mala .dll.

¿Hay un tipo especial de instalar que iba a ocurrir a ejecutar NET 4.0 Aplicaciones de consola?

¿Fue útil?

Solución

Para cualquier otra persona que pueda tener problemas con esto en el futuro. No era un problema generalizado con la forma en que estaba registrando la DLL en la GAC ??o cómo me refería a ella desde mis proyectos.

ChilkatDotNet4.dll (y las otras versiones estoy seguro) fue construido en Visual C ++. Por lo tanto, el servidor está siendo desplegado a tiene que tener el Visual C ++ Runtime instalado para la arquitectura de procesador adecuado.

En 2010 (.NET 4.0):

Si está ejecutando una aplicación en una plataforma x86 de 64 bits. Asegúrese de marcar el grupo de aplicaciones con "Habilitar aplicaciones de 32 bits" = true.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top