Estoy tratando de ejecutar esta aplicación web. Me sale este error
«No se puede cargar el archivo o ensamblado «de Oracle.DataAccess» o una de sus dependencias. Se hizo un intento de cargar un programa con un formato incorrecto.»
Detalles de la excepción: System.BadImageFormatException. «No se puede cargar el archivo o ensamblado «de Oracle.DataAccess» o una de sus dependencias. Se hizo un intento de cargar un programa con un formato incorrecto.»
A continuación están las cosas que ya he probado.

1) sustituye a todos los de oracle dll de 32 bits de oracle dll que yo.e 2.112.3.0

Tengo 32 bits instalado el cliente de 64 bits de la máquina. El sistema operativo es windows 7.

2) compilar cada proyecto de forma individual. Elimina todos los de oracle dependiente de archivos dll y luego añadió la 2.112.3.0 dll de forma individual y luego se compila cada proyecto

3) Registrar la dll de 32 bits en GAC uso de esta instrucción
gacutil /i %ORA_HOME4%\odp.net\bin\4\Oracle.DataAccess.dll

gacutil /i %ORA_HOME4%\asp.net\bin\4\oracle.web.dll

las dos declaraciones, he copiado el gacutil.exe de c:\Program Files(x86)\Microsoft sdk\windows\v7.0A\Bin\NETFX4.0 Herramientas\X64
a la unidad C:\ y, a continuación,

Me ejecutado los dos anteriores instrucción:

gacutil /i %ORA_HOME4%\odp.net\bin\4\Oracle.DataAccess.dll
gacutil /i %ORA_HOME4%\asp.net\bin\4\oracle.web.dll
cuando me ejecutado los dos anteriores declaraciones, no me llega ningún mensaje, me ejecutado en Dos windows con privilegios de administrador.

4) yo también elimina todos los Temporales ASP.net los archivos desde esta ubicación

c:\windows\Microsoft.Net\V4.0.30319\temporary ASP.net los archivos
También he cambiado la aplicación web de construcción de Plataforma de destino para X86, Originalmente, fue en «la CPU». de la frustración, también he intentado cambiar la plataforma de destino para X64 y, a continuación, aparece el mensaje de error diciendo

» Frío no cargar el archivo o ensamblar . webapp» o una de sus dependencias. Se hizo un intento de cargar un programa con un formato incorrecto.

No tengo IIS instalado en mi equipo, estoy ejecutando esta aplicación en visual studio 2010 así que creo que va a ser el uso de la incorporada IIS que viene con visual studio.

Me pasan muchas horas a la resolución de este problema, pero sigue recibiendo el mismo error una y otra vez.

cualquier ayuda o sugerencia será muy apreciada.

InformationsquelleAutor Anjali5 | 2013-09-13

10 Comentarios

  1. 3

    Tenido el problema de nuevo cuando me mudé de una máquina a otra, y tenía todo reinstalado. En mi caso, estoy utilizando ambos de 32 bits y 64 bits de Oracle ODP.NET se instala.

    Cuando listado de las asambleas en mi nueva máquina que terminó con la siguiente lista de

     C:\oracle\product.2.0\X64\odp.net\bin>gacutil /l|findstr Oracle.DataAccess
         Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
         Policy.2.102.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
         Policy.2.111.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
         Policy.2.112.Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
         Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
         Policy.4.112.Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
    

    sólo 64 bits Dll para ser visto aquí.

    No se pudo cargar el archivo o ensamblado

    Yo podía ver desde la web.configuración, pero el que yo estaba usando era una versión de 32 bits.

    Al comprobar mi vieja máquina con el GACutil, vi a más de Dll, también el X86 queridos.

    Fijo por volver a aplicar el proceso de registro(tanto x32/x64 versión que se hace referencia aquí)

    OraProvCfg.exe /action:gac /providerpath:C:\oracle\product.2.0\x32\ODP.NET\bin\Oracle.DataAccess.dll
    
    OraProvCfg.exe /action:gac /providerpath:C:\oracle\product.2.0\x64\ODP.NET\bin\Oracle.DataAccess.dll
    

    después de eso , Visual Studio fue un conejito feliz y compilado todo nuevo para mí.

    • He encontrado gacutil en C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools como no estaba en mi oracle carpeta de 12.2
  2. 33

    Intente esto: Abra el Administrador de IIS, el cambio del grupo de aplicaciones de configuración avanzada, cambio de Habilitar una Aplicación de 32 bit a false.

    • el mío era falso por defecto y cuando me puse a true la dependencia problema fue
    • Necesitaba de 32 bits así que el mío, de Verdad, reciclado de la aplicación de la piscina, y que trabajó para mí.
    • Yo necesitaba para iniciar/parar mi apppool.
  3. 24

    He encontrado la solución con los siguientes pasos:

    • quitar el Oracle.DataAcces.dll de referencia,

      y añada una nueva referencia a:

      C:\windows\assembly\GAC\Oracle.DataAccess\X.XXX.X.XX__89b483f429c47342/oracle.dataaccess.dll
    • De crear una copia local= false.

    Espero que ayude

    • No tengo un Oráculo.DataAccess carpeta en la GAC carpeta (pero en el GAC32 y un GAC64).
    • A mí también. Yo uso win 8.1 y no hay ninguna carpeta en la GAC C:\windows\assembly
    • trabajó para mí.gracias.
    • en .NET Framework 3.5/4.5 GAC es bajo C:\Windows\Microsoft.NET\assembly\GAC_32 o C:\Windows\Microsoft.NET\assembly\GAC_64
  4. 8

    Usted puede necesitar para permitir que las aplicaciones de 32 bits en su grupo de aplicaciones.
    Ir a > ‘grupo de Aplicaciones’ en IIS => haga clic derecho con el grupo de aplicación => configuración avanzada => ‘habilitar una aplicación de 32 bit’ a true.

    Por favor, no te olvides de reiniciar el grupo de aplicación y su correspondiente aplicación apunta a que la aplicación de la piscina.

  5. 2

    En mi caso el siguiente resuelto el problema:

    1. Descarga de «32-bits de Oracle Data Access Components (ODAC)
      con Oracle Developer Tools para Visual Studio» de http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
    2. A continuación, agregar la referencia oracle.dataaccess.dll a la bin archivo de navegación en la ubicación del archivo o de la referencia de la lista en .NET ficha.
    • eso es la forma en que trabaja conmigo también para el mismo tema, gracias
  6. 2

    Si usted está utilizando IIS Express y VS 2017:

    Ir a la Web de Propiedades de la Aplicación > Ficha Web > Servidores de la Sección > Y cambiar el valor de Bits a 64 bits.

  7. 0

    En mi caso, yo uso VS 2010, Oracle v11 de 64 bits. Yo podría publicar en el modo de 64 bits (Configuración «de la Cpu en el modo» en la Web de configuración del Proyecto) y yo podría configurar IIS en el Servidor de Producción de 32 Bits compatibilidad con falsa (porque el servidor es de 64 bits y me gusta tomar ventaja de ella).

    A continuación para resolver el problema «no se Puede cargar el archivo o ensamblado ‘Oracle.DataAccess'»:

    • En el Local de la PC y el Servidor está instalado Oracle v11, de 64 Bits.
    • En todos los Locales de Dev PC hago referencia a Oracle.DataAccess.dll (C:\app\user\product\11.2.0\client_1\odp.net\bin\4) que es de 64 bits.
    • En IIS en el Servidor de Producción, me puse de compatibilidad con 32 bits a False.
    • La referencia en la web del proyecto en System.Web.Mvc.dll fue la versión v3.0.0.1 en el PC local, sin embargo en la Producción es sólo
      instalado MVC versión 3.0.0.0. Así, la revisión fue locallly trabajar con MVC
      3.0.0.0 y no 3.0.0.1 y publicar de nuevo en el servidor, y funciona.
    • usted podría tener una buena sugerencia, pero no puedo entender lo que estás tratando de decir, sobre todo el último punto
  8. 0

    Para mí todo lo demás era casi ok, pero de alguna manera mi proyecto de cambiar la configuración de & iisExpress se estaba acostumbrando en lugar de IISLocal. Cuando cambié & señaló el directorio virtual (en IISLocal), se miró de trabajo perfectamente de nuevo.

  9. 0

    Necesitaba una versión de 64 bits de oracle.dataaccess.dll pero esto causó problemas con otras bibliotecas que estaba usando.

    [BadImageFormatException: no se Pudo cargar el archivo o ensamblado ‘Oracle.DataAccess’ o una de sus dependencias. Se hizo un intento de cargar un programa con un formato incorrecto.]

    He seguido varios pasos de arriba. Ir a la configuración avanzada en los proyectos de la piscina para alternar permitir 32 bits funcionó, pero yo no estaba dispuesta a dejar en manos de esa manera así que me volví a encenderlo.

    Mi proyecto también había referencias que dependían de la Elmah y log4net referencias.
    He descargado la última versión de estos y mi proyecto fue capaz de construir y ejecutar bien sin meterse con las piscinas es de 32 bits de configuración.

Dejar respuesta

Please enter your comment!
Please enter your name here