Aparece un error “Se intentó cargar un progtwig con un formato incorrecto” en un proyecto de replicación de SQL Server

El error exacto es el siguiente

No se pudo cargar el archivo o ensamblado ‘Microsoft.SqlServer.Replication, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91’ o una de sus dependencias. Se intentó cargar un progtwig con un formato incorrecto.

Recientemente comencé a trabajar en este proyecto de nuevo después de un traslado de dos meses a otro proyecto. Funcionó perfectamente antes, y he verificado todas las referencias.

La respuesta de Baldy a continuación es correcta, pero es posible que también deba habilitar aplicaciones de 32 bits en su AppPool.

Fuente: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assembly-chilkatdotnet2-or-one-of-its-dependencies-an-attempt-was-made-to-load- a-program-with-an-incorrect-format /

Al configurar una aplicación para que se ejecute en mi máquina local (ejecutando Vista de 64 bits) encontré este error:

No se pudo cargar el archivo o ensamblar ChilkatDotNet2 o una de sus dependencias. Se intentó cargar un progtwig con un formato incorrecto.

Obviamente, la aplicación usa componentes de ChilKat , pero parece que la versión que estamos utilizando es solo la de 32 bits.

Para resolver este error, configuro mi grupo de aplicaciones en IIS para permitir aplicaciones de 32 bits. Abra el Administrador de IIS, haga clic con el botón derecho en el grupo de aplicaciones y seleccione Configuración avanzada (consulte a continuación)

enter image description here

Luego configure “Habilitar aplicaciones de 32 bits” en True.

enter image description here

¡Todo listo!

Encontré la solución. Recientemente actualicé mi máquina a Windows 2008 Server de 64 bits. El espacio de nombres SqlServer.Replication se escribió para plataformas de 32 bits. Todo lo que tenía que hacer para volver a ejecutarlo era configurar la plataforma de destino en Project Build Properties en X86.

Cambie el valor para Platform Target en la página de propiedades de su proyecto web a Any CPU .

enter image description here

Ir a IIS -> Grupo de aplicaciones -> Configuración avanzada -> Activar aplicaciones de 32 bits

Recientemente tuvimos el problema al intentar ejecutar el código desde Visual Studio. En ese caso, debes hacer
HERRAMIENTAS> OPCIONES> Proyectos y soluciones> PROYECTOS WEB y consulte “Utilizar la versión de 64 bits de IIS Express para sitios web y proyectos”.

Para aquellos que obtienen este error en un proyecto ASP.NET MVC 3 , dentro de Visual Studio:

En una aplicación ASP.NET MVC 3 en la que estoy trabajando, traté de agregar una referencia a Microsoft.SqlServer.BatchParser a un proyecto para resolver un problema donde faltaba en un servidor de implementación. (Nuestra aplicación usa SMO, la solución correcta era instalar SQL Server Native Client y un par de cosas más en el servidor de implementación).

Incluso después de eliminar la referencia a BatchParser, seguí obteniendo el error “Un bash fue hecho …”, haciendo referencia al DLL de BatchParser, en cada página de ASP.NET MVC 3 que abrí, y ese error fue seguido por docenas de análisis de páginas errores

Si esto le sucede a usted, haga una búsqueda de archivos y vea si el archivo DLL aún se encuentra en una de las carpetas \ bin de su proyecto. Incluso si hace una reconstrucción, Visual Studio no borra necesariamente todo en todas sus carpetas \ bin. Cuando eliminé la DLL del contenedor y volví a comstackr, el error desapareció.

Lo tenía en una aplicación MVC5 en Windows 10 contra IIS Express. Mi solución fue la siguiente:

  • Herramientas =>
    • Opciones =>
      • Proyectos y soluciones =>
        • Proyectos web =>
          • Utilice la versión de 64 bits de IIS Express para sitios web y proyectos

cámbielo a 32 bits (verdadero) funciona

si obtienes esta longitud, no puede ser menor que cero. Nombre del parámetro: problema de longitud en la configuración de iis servidor, haga lo simple, cambie la cadena de conexión en el archivo web.config como su nombre de servidor SQL y el nombre del servidor y reinicie iis, luego intente cargar la página que funciona.

Si publica en Visual Studio 2012 al realizar un error, desactive la opción “Procomstackr durante la publicación” en el asistente de publicación.

Desmarque

En la aplicación de Windows, hago esto. Haz clic con el botón derecho en la casilla Proyecto-> Propiedades-> Comstackr-> Verificar preferencia de 32 bits. Gracias a todos

  1. Elimine el directorio de prueba temporal que se encuentra aquí C: \ Users (Usuario) \ AppData \ Local \ Temp \ VisualStudioTestExplorerExtensions \

  2. Establezca todos los proyectos en x64 en Visual Studio

  3. Establezca la architecture predeterminada del procesador en x64 (Test / TestSettings / Default Processor Architecture).

Asegúrese de limpiar el archivo de la solución. ¡Espero que esto ayude!

Cambiar el marco de destino en las propiedades del proyecto de .NET Framework 4.7.1 a 4.6.2 funcionó para mí.