ASP.Net no puede crear/copia sombra
assemblies web-config (12)
Recibo este error repetidamente cuando desarrollo aplicaciones ASP.Net:
Cannot create/shadow copy ''XXXXX'' when that file already exists
Donde XXXXX es una DLL aleatoria. Normalmente, el DLL es uno de los archivos DLL de Enterprise Library de Microsoft, pero varía.
Es realmente aleatorio, y es muy frustrante. Pasaré horas sin obtener el error, y luego obtendré este error cada 10-20 minutos.
He visto varias soluciones. Por ejemplo, esta pregunta . Intenté usar la opción de Solución limpia y simplemente reinicié mi IIS local. Sin embargo, todavía ocurre a la misma frecuencia aleatoria pero persistente.
También he visto a mucha gente mencionar el uso de esta opción en el archivo de configuración:
<hostingEnvironment shadowCopyBinAssemblies="false" />
Sin embargo, otros han mencionado que es problemático, y definitivamente no debería utilizarse en la producción.
Entonces, ¿debería darme por vencido y probar la opción shadowCopyBinAssemblies? (Y asegúrese de no copiar este cambio en otros entornos.) ¿Soy el único que recibe este problema con tanta frecuencia?
Nota: Estoy usando Visual Studio 2008.
Abra las propiedades de su proyecto, abra la pestaña Web y asegúrese de que la opción Habilitar Editar y Continuar no esté marcada.
Agregue estas líneas en la línea de comandos del evento de precompilación, que básicamente desbloquea el archivo DLL dentro de Visual Studio:
IF EXIST $(TargetPath).LOCKED (del $(TargetPath).LOCKED)
ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))
Vuelva a compilar y no podrá copiar el error de DLL.
En mi situación, solo iisreset
funcionó.
Espere entre 10-30 segundos y presione Actualizar. Por alguna razón, esto siempre me funciona.
Estaba obteniendo el mismo problema, al colocar este código en un web.config funcionó para mí.
<hostingEnvironment shadowCopyBinAssemblies="false" />
Las siguientes soluciones provisionales provienen de este problema de conexión ahora difunto :
- agregue
<hostingEnvironment shadowCopyBinAssemblies="false" />
a la sección<system.web>
de su archivo web.config. - Reinicia Cassini cuando tengas el problema
- Si obtiene el error, detenga el depurador, haga clic con el botón derecho en la solución y "limpiar solución". Presione F5 para reiniciar el depurador. Esto es realmente molesto ya que tiene> 50% de índice de fallas para mí y pensarías que no debería haber una opción manual para LIMPIAR LA SOLUCIÓN. ¡Esta aplicación POS de $ 1200 debería limpiarla automáticamente!
- Aquí hay otra solución que puede ser más atractiva para algunos, cortesía de Gary Farr ( http://blogs.claritycon.com/blogs/gary_farr/archive/2007/03/09/2888.aspx ).
Agregue lo siguiente a sus eventos de preconstrucción:
IF EXIST $(TargetPath).LOCKED (del $(TargetPath).LOCKED) ELSE (IF EXIST $(TargetPath) (move $(TargetPath) $(TargetPath).LOCKED))
Una solución alternativa que hace el trabajo por mí es usar "Build" en lugar de usar "Build".
- Después de una compilación exitosa, cuento hasta diez, luego actualizo mi formulario web.
- He descubierto que al volver a registrar ASP.NET contra IIS, el problema "desaparece". No he tenido el problema desde entonces. Tendrá que ejecutar lo siguiente en la línea de comando:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
. Es muy probable que esto no funcione para todos: es un problema complejo. - reiniciar VS.
- Al limpiar la solución, se emitieron algunas advertencias sobre los archivos que no se pudieron eliminar. Estos archivos tenían su propiedad de solo lectura establecida. Después de establecer la propiedad de estos archivos para leer / escribir, el problema fue resuelto.
- Reiniciar IIS
EDITAR: elementos recuperados de una versión anterior de la página (cortesía de archive.org).
Limpiar y construir de nuevo. Me ayudó y a menudo funcionó para mí
Obtuve este problema con frecuencia cuando trabajaba con una DLL importada que creamos.
Los intentos de detener estaban fallando, e incluso introdujeron diferentes problemas, pero cada vez que ocurría, simplemente hacía una solución de reconstrucción y el problema desaparecía inmediatamente para esa construcción.
Además, no he visto el problema desde que trabajé en Visual Studio 2002. 2008 no tiene este problema que yo sepa, tampoco lo hace en 2005. ¿Está usando un VS anterior?
Si usa Entity Framework:
Mensaje de error: "No se puede crear / copiar sombra" cuando ese archivo ya existe. "
Solución: "Espere unos segundos y actualice la página".
Para obtener más información, visite: Escenarios de Advanced Entity Framework 6 para una aplicación web MVC 5 (12 de 12)
Simplemente actualiza (F5) tu página.
Simplemente reinicie Visual Studio, eso funcionó para mí.
VAYA al modo de diseño y luego haga clic con el botón derecho y pulse ver en el navegador, el problema desaparecerá Anil Madan