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:

Anónimo dijo...

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

Anónimo dijo...

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

Unknown dijo...

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

Unknown dijo...

Graciassssssss

luis-k9999 dijo...

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

Juan Manuel Fenoll dijo...

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.

luis-k9999 dijo...

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?

zanguango dijo...

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

Unknown dijo...

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.

luis-k9999 dijo...

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.

xisket dijo...

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

Anónimo dijo...

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)

Unknown dijo...

SIGO CON EL MISMO PROBLEMA YA BORRE TEMPORALES PERO SIGO CON EL MISMO PROBLEMA

gBreck dijo...

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.

Miguel Angel Chileno dijo...

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

Anónimo dijo...

Crack!! Muchas gracias!

Anónimo dijo...

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)'

Luis Arturo Castro dijo...

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...

Luis Arturo Castro dijo...
Este comentario ha sido eliminado por el autor.
Anna Schafer dijo...

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

Felipe dijo...

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...

Andresgd7 dijo...

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%