c# - Aparece el error "Se intentó cargar un programa con un formato incorrecto" en un proyecto de replicación de SQL Server.
sql-server replication (12)
El error exacto es el siguiente
No se pudo cargar el archivo o el ensamblaje ''Microsoft.SqlServer.Replication, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91'' o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto.
Recientemente comencé a trabajar en este proyecto nuevamente después de dos meses de mudarme a otro proyecto. Funcionó perfectamente antes, y he revisado todas las referencias.
Elimine el directorio de prueba temporal ubicado aquí C: / Users (Usuario) / AppData / Local / Temp / VisualStudioTestExplorerExtensions /
Establecer todos los proyectos a x64 en Visual Studio
Establezca la arquitectura del procesador predeterminada 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í.
Cambie el valor de Platform Target en la página de propiedades de su proyecto web a Any CPU
.
En la aplicación Windows Forms, hago esto, haga clic con el botón derecho en Proyecto-> Propiedades-> Construir-> Verificar casilla de verificación Preferir de 32 bits. Gracias a todos
He encontrado la solución. Recientemente he actualizado 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 que funcionara de nuevo era establecer la Plataforma de destino en las Propiedades de compilación del proyecto en X86.
La respuesta de Baldy a continuación es correcta, pero es posible que también deba habilitar aplicaciones de 32 bits en su AppPool.
Al configurar una aplicación para ejecutarse en mi máquina local (ejecutando Vista 64bit) encontré este error:
No se pudo cargar el archivo o conjunto
ChilkatDotNet2
o una de sus dependencias. Se intentó cargar un programa con un formato incorrecto.
Obviamente, la aplicación utiliza componentes ChilKat , pero parece que la versión que estamos usando es solo la versión 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 (vea a continuación)
Luego configure "Habilitar aplicaciones de 32 bits" en Verdadero.
¡Todo listo!
Para aquellos que reciben 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, intenté agregar una referencia a Microsoft.SqlServer.BatchParser a un proyecto para resolver un problema que faltaba en un servidor de implementación. (Nuestra aplicación utiliza SMO; la solución correcta fue 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í recibiendo el error "Se hizo un intento ...", haciendo referencia a la 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ágina errores
Si esto le sucede a usted, realice una búsqueda de archivos y vea si la DLL todavía está en una de las carpetas / bin de su proyecto. Incluso si realiza una reconstrucción, Visual Studio no necesariamente elimina todo en todas sus carpetas / bin. Cuando eliminé el DLL del contenedor y lo construí de nuevo, el error desapareció.
Recientemente tuvimos el problema al intentar ejecutar el código desde Visual Studio. En ese caso tienes que hacer
HERRAMIENTAS> OPCIONES> Proyectos y soluciones> PROYECTOS WEB y verifique "Usar la versión de 64 bits de IIS Express para sitios web y proyectos".
Si se publica en Visual Studio 2012 cuando se producen errores, desactive la opción "Procompilar durante la publicación" en el asistente de publicación.
Tuve esto 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
- Proyectos Web =>
- Proyectos y Soluciones =>
- Opciones =>
Vaya a IIS -> Grupo de aplicaciones -> Configuración avanzada -> Habilitar aplicaciones de 32 bits
cambiarlo 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 del servidor iis, simplemente cambie la cadena de conexión en el archivo web.config, como el nombre de su servidor SQL y el nombre del servidor, y reinicie. Luego intente cargar la página que funciona