jueves, 14 de junio de 2012

Error: No se puede cargar el archivo o ensamblado ni una de sus dependencias


Uno de los ordenadores de desarrollo (Windows 7 x64) ha sufrido un cuelgue mientras teníamos un proyecto Web de Visual Studio 2010 abierto, y hemos tenido que darle “botonazo”. (Esto se puede extender a casos como apagones, hibernaciones en portátiles, falta de batería, etc.)

Cuando hemos arrancado el ordenador y hemos abierto de nuevo el proyecto, el Visual Studio nos daba las gracias con un bonito error:

“No se puede cargar el archivo o ensamblado ‘XXX’ ni una de sus dependencias. El parámetro no es correcto.”

Hemos perdido un rato quitando y poniendo referencias, actualizando proxys y ensamblados, sin ningún avance.

La solución era otra:
El Framework .net , cuando compila una aplicación, almacena los ensamblados en sus directorios temporales.

C:\Windows\Microsoft.NET\Framework\[versionNumber]\Temporary ASP.NET Files

Parece que al colgarse el equipo, esas carpetas tenían información incompleta.

La solución ha sido borrar la carpeta correspondiente al proyecto que tiene el problema (dentro de Temporary ASP.NET Files) , y al volverá compilar, se ha regenerado la carpeta temporal de nuevo.

Saludos.

22 comentarios:

  1. Gracias! En mi caso también fue necesario borrar las subcarpetas de root, no sólo la carpeta de mi proyecto.

    ResponderEliminar
  2. Gracias, ya llevava medio dia borrando y colocando cosas y nada servia....

    ResponderEliminar
  3. Sos un groso! Genio de la vida! me salvaste el pellejo!

    ResponderEliminar
  4. A mi me pasa algo similar, no se si me puedan ayudar,
    soy programador novato y actualmente realizo un sistema donde creo una imagen QR, para esto uso una dll,
    bien, al momento de pasar mi proyecto a otra computadora, mi aplicación funciona bien, hasta el momento de intentar acceder a la pantalla donde uso el dll, me marca el error:

    “No se puede cargar el archivo o ensablado’Gma.QrCodeNet.Encoding.Version=0.4.0.0. Culture = neutral. PublicKey Token=e8a75d24b142be49′ ni una de sus precedencias. El sistema no puede encontrar el archivo especificado”

    Si alguien me pudiera ayudar se los agradecería mucho

    ResponderEliminar
  5. Hola, Luis-k9999.

    Ese error es que te falta la DLL que contiene el ensablado ’Gma.QrCodeNet.Encoding'.

    Mira en las referencias de tu proyecto qué DLL se trata e inclúyela en la publicación al otro equipo (o cópialo a mano).

    Saludos.

    ResponderEliminar
  6. Gracias por la pronta respuesta

    La dll a la cual hace referencia si existe en mi proyecto, de hecho la volví a agregar por si se había copiado mal o algo, y me sigue marcando el mismo error.

    Debo de poner la dll dentro de alguna carpeta aparte (en el cliente )para que funcione?

    ResponderEliminar
  7. En mi caso, con Windows 8, VS 2012 y depurando con IIS Express, vaciar el directorio indicado no solucionó el problema, la ruta existía, pero no hizo efecto. Al final encontré la ruta correcta para (al menos) la configuración que indico: C:\Users\[usuario]\AppData\Local\Temp\Temporary ASP.NET Files

    ResponderEliminar
  8. Hola, por favor si me ayudan con esto: No se puede cargar el archivo o ensamblado 'AjaxControlToolkit' ni una de sus dependencias. Este ensamblado se creó con un tiempo de ejecución más reciente que el tiempo de ejecución cargado actualmente y no se puede cargar.

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

    ResponderEliminar
  9. Para los que sigan con la duda, ya logré resolver el problema, espero les ayude mi respuesta.
    Usualmente ejecuto el .exe que se encuentra en /obj/x86/Debug/programita.exe
    este es el que me genera dicho error.
    El .exe que si sirve, se encuentra en
    /bin/Debug/programita.exe
    Puede que uds lo hayan intentado ya, yo no y este resulto ser el funcional.
    Espero les sirva.

    ResponderEliminar
  10. En mi caso el problema era que las dlls que se intentaban cargar estaban compiladas con un framework posterior al que se estaba ejecutando. La solución pasó por aumentar el framework de compilación de la solución que se estaba ejecutando pero igualmente podría haberse hecho bajando la versión del framework de las dlls que se intentaban cargar por la misma versión de las dlls que se estaban ejecutando

    ResponderEliminar
  11. En mi caso,el proyecto hecho en VS 2008 utiliza Microsoft.ReportViewer.WinForms y se actualizó a una versión más nueva por error.Dicen que fue por instalar Visual Studio 2015, pero no está comprobado.
    Para solucionarlo, pues se retiró la referencia al ensamblado nuevo (12.0.0.0) y se colocó la que se estaba usando originalmente (9.0.0.0)

    ResponderEliminar
  12. SIGO CON EL MISMO PROBLEMA YA BORRE TEMPORALES PERO SIGO CON EL MISMO PROBLEMA

    ResponderEliminar
  13. En mi caso, solo tuve que cambiar la versión del framework de mi proyecto, asi que pase de framework 3.5 a 4.0 y voila... funciona perfectamente.

    ResponderEliminar
  14. Miguel Angel Chileno16 de marzo de 2017, 21:57

    Prueben cambiando la compatibilidad a 32 bits en opciones avanzadas de Pool de aplicaciones. Exito!

    ResponderEliminar
  15. Crack!! Muchas gracias!

    ResponderEliminar
  16. no he podido salir de este problema : como podría resolverlo
    System.DllNotFoundException: 'No se puede cargar el archivo DLL 'AVEngineClientLibrary.dll': No se pudo iniciar la aplicación; la configuración en paralelo no es correcta. Consulte el registro de eventos de la aplicación o use la herramienta sxstrace.exe de la línea de comandos para obtener más detalles. (Excepción de HRESULT: 0x800736B1)'

    ResponderEliminar
  17. System.BadImageFormatException: 'No se puede cargar el archivo o ensamblado 'Interop.zkemkeeper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ni una de sus dependencias. Este ensamblado se creó con un tiempo de ejecución más reciente que el tiempo de ejecución cargado actualmente y no se puede cargar.'

    Si alguien me podría ayudar, ya hice lo de borrar los archivos pero nomas no me sirvio...

    ResponderEliminar
  18. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  19. Es muy sencillo encontrar cualquier asunto en la web en comparación con libros, como encontré este párrafo en este sitio web. Mastiles para banderas

    ResponderEliminar
  20. Sos un grande, god bless you!
    Llevaba un buen rato buscando información en la internet y no daba con el chiste, me libraste de una...

    ResponderEliminar
  21. Viejo, llevo 8 horas buscando soluciones y esto fue lo único que me funciono. Muchas gracias a ti y al tipo que comento que buscara en %appdata%

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.