Una cosa típica que pasa en VS2005 desde que salió es que estamos trabajando en una aplicación, cambiamos algo en el código, la lanzamos para probar, paramos, y así sucesivamente y, de repente, en un momento determinado y sin venir a cuento, nos aparece un mensaje de error y nos dice que no se ha podido compilar porque un archivo estaba bloqueado o algo así (he intentadno reproducir una captura, pero justo hoy no está por la labor y me funciona perfectamente).

El caso es que suelen ser mensajes estilo:

Could not load file or assembly 'XXXXXXX' or one of its dependencies. The system cannot find the file specified.

aunque hay algunos más.

Este error se produce porque hay algunos archivos resultantes de la anterior compilación que quedan bloqueados y el entorno no puede sobrescribirlos.

Hay varias soluciones:

1.- Compilar entero el proyecto otra vez desde el menú Build·Build all. Es lo que suelo hacer yo.
2.- Borrar los archivos temporales de ASP.NET. Es fácil de hacer ocn un bat que tengamos siempre a mano.
3.- Meter un ajuste en web.config para indicar al compilador que no use compliación por lotes, así:

<compilation debug="false" batch="false"></compilation>

No me preguntes porqué funciona, pero el caso es que funciona.

Puedes encontrar los detalles de este tipo de error y esta última solución en este artículo de la Knowledge base de Microsoft.

El caso es que la gente de Microsoft ha sacado un parche no oficial para solucionar este problema. Instálalo sólo si te pasan estas cosas. Lo puedes descargar desde aquí. Necesitas autenticarte con una cuenta Passport para descargarlo, pero es libre y gratuito.

Espero que te sirva.

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor

Escrito por un humano, no por una IA