2010-04-20 13 views
13

He instalado .NET 4 framework en uno de mis servidores.Instalación del proyecto .net 4 en el servidor de destino - Error System.BadImageFormatException

Cuando ejecuto un proyecto de instalación creada en Visual Studio - obtener el siguiente error:

Error 1001 Exception occurred while initializing the installation. System.BadImageFormatException: Could not load file or assembly or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

He instalado definitivamente el .NET Framework 4 en la máquina objetivo - lo que está pasando?

Respuesta

23

finalmente he encontrado la solución a esto, y escribió en su blog sobre él: Deploying .NET 4 Project – Error 1001 (System.BadImageFormatException)


Actualización: copiado el contenido de la blog:

"Después de asistir a los eventos del Reino Unido Tech días la semana pasada en Londres, tenía muchas ganas de subir al carro de Visual Studio 2010 y .net 4.0.

He convertido algunos de nuestros proyectos aquí en Crocus al .NET 4 framework (que w ¡increíblemente fácil, nada se rompió!) Incluso aproveché algunas de las funciones rápidas para implementar en .net 4, y convertí algunos de nuestros métodos masivamente desbordados para usar parámetros opcionales.

Un proyecto en particular es un servicio de Windows, que envía las órdenes de compra en un horario. (Hace poco escribí sobre cómo se rompió esto debido a que Quartz.net esperaba una hora de inicio UTC)

Esto tiene un proyecto de implementación de Visual Studio asociado.

Después de construir la versión recién actualizado .net 4 del proyecto, y desplegar el archivo .msi en nuestro servidor de destino, tengo el siguiente error:

Error 1001 Exception occurred while initializing the installation. System.BadImageFormatException: Could not load file or assembly or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

Ahora, definitivamente había mejorado a dicho servidor .net 4 (dos veces, de hecho, después de la primera vez que recibí este error!)

Después de buscar en Google, algunas personas decían que cambiara el platform target en mis ensamblajes, lo que hice, fue en vano.

Finalmente descubrí el problema.

Es necesario configurar el .NET Framework Launch Condition

Así es como se hace:

  1. Haga clic derecho sobre su proyecto de implementación en el explorador de soluciones. En el menú contextual, seleccione Ver -> Condiciones de inicio
  2. Bajo 'Versión' elegir' .NET Framework 4'

Después de la reconstrucción y el despliegue de mi archivo de configuración, todo funcionaba bien "

+0

Estoy teniendo el mismo problema. Sin embargo, tu enlace está bloqueado en el trabajo. Está etiquetado como un sitio malicioso por alguna razón. ¿Me puede apuntar en la dirección correcta? – Kevin

+0

Tuve la suerte de tener ese virus de la vaca pantalones en mi sitio- La respuesta anterior es un resumen de lo que debe hacer. – Alex

+0

la respuesta es un enlace roto. Lástima, realmente necesitaba este. –

10
.
  1. Haga clic en el proyecto del instalador, luego vaya a Proyecto> Propiedades.
  2. Haga clic en el botón Requisitos previos
  3. Compruebe el “Microsoft .NET Framework 4 (x86 y x64)” caja y desactive la versión anterior del marco
  4. pulsa OK en la ventana Requisitos previos y en la ventana de las propiedades.
  5. Haga clic derecho sobre el proyecto de instalación y ve a> Condiciones de inicio
  6. ponen de relieve la condición de .NET Framework y actualizar los siguientes campos en el cuadro de propiedades
    a. InstallURL: http://msdn.microsoft.com/en-us/netframework/aa569263.aspx
    b. Versión: .NET Framework 4
  7. Reconstruir el instalador
+1

Esto resolvió el problema para mí. Gracias. –

+0

Esto no resuelve el problema para mí. Todo está configurado en x64 y .NET Framework 4, y sigo recibiendo este error. – Triynko

Cuestiones relacionadas