Sigo recibiendo este error durante la compilación de mi proyecto VS2012 C #
Error 41 Could not copy "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe".
Exceeded retry count of 10. Failed.
Error 42 Unable to copy file "obj\Debug\WeinGartner.WeinCad.exe" to
"bin\Debug\WeinGartner.WeinCad.exe". The process cannot access the file
'bin\Debug\WeinGartner.WeinCad.exe' because it is being used by another
process.
Ahora he descubierto que matar el proceso
Weingartner.WeinCad.vhost.exe
funciona (a veces) pero esto me está poniendo de los nervios. ¿Alguna forma de evitar que esto suceda?
Mis configuraciones de depurador son
c#
visual-studio-2012
build
process
bradgonesurfing
fuente
fuente
Respuestas:
He encontrado mensajes de error similares en Visual Studio 2013.
Principalmente, he descubierto que esta situación se produjo cuando se detuvo un proceso de depuración debido a una excepción.
Cuando clean + build no ha resuelto este problema para mí, he tenido éxito al hacer lo siguiente:
bin
yobj
carpetas, yEste "error" existe desde Visual Studio 2003.
Finalmente, también descubrí que a menudo puedo superar este problema simplemente cambiando el nombre del archivo ejecutable y luego eliminándolo.
fuente
En Visual Studio Premium 2013 (Actualización 3), resolví esto con una línea previa de compilación:
Esto borra con gracia cualquier archivo PDB antiguo (si puede), luego cambia el nombre de todo lo que quede con una
.old.pdb
extensión. Un buen efecto secundario es que si el PDB anterior todavía está bloqueado, simplemente agrega otra pieza .old al nombre del archivo, y todos se limpian la próxima vez que reinicie Visual Studio y realice una compilación.Por ejemplo, la sesión de compilación / depuración 1 se deja
MyProject.pdb
bloqueada.La próxima vez que construyas:
MyProject.pdb
->MyProject.old.pdb
A continuación, se inicia la sesión acumulación / depuración 2, y tanto
MyProject.pdb
yMyProject.old.pdb
todavía están bloqueados:MyProject.old.pdb
->MyProject.old.old.pdb
MyProject.pdb
->MyProject.old.pdb
Finalmente, reiniciar Visual Studio y hacer una nueva compilación eliminará ambos y continuará el proceso como de costumbre.
fuente
Es porque ha cerrado su aplicación, pero todavía se está ejecutando en segundo plano.
Solución temporal:
Solución permanente: debe cerrar su aplicación a través de la codificación. Aquí está el código ...
Debe poner este código en el evento de cierre del formulario en todos los formularios. Ejemplo:
fuente
.vhost.exe es un proceso de depuración, por lo que parece que el proceso que se está depurando no se ha cerrado correctamente. Lo más probable es que tenga un error que lo mantiene vivo y no detiene el proceso de depuración correctamente: hay opciones para desconectarse del proceso cuando hace clic en 'detener depuración' en lugar de matar al depurador, por lo que tal vez tenga ese conjunto.
Pero ese es el problema: el sistema operativo bloquea el archivo que está intentando copiar (es decir, todavía lo está utilizando), por lo que impide la copia. Asegúrese de que el archivo sea gratuito y podrá copiarlo.
fuente
Visual Studio 2019
, recibo un mensaje similar, aunque ahora menciona el proceso en algunos de los resultados (no en todos). Fue testhost.x86.exe que tuve que matar a través deTask Manager
. Después de eso, pareció dejar de detectar uno de los procesos de prueba.Lo he resuelto matando a IISExpress en el administrador de tareas
fuente
Debe deshabilitar su antivirus (especialmente si es un Avast) e intentarlo de nuevo. Me ayudó. El problema es que el depurador / creador crea el archivo .exe que Avast identifica como amenaza y, por lo tanto, lo elimina antes de que VS.
fuente
Pude solucionar este problema (VS 2010) mediante el suministro de la siguiente acción previa a la compilación;
fuente
Citar:
Fragmento de código
fuente
Excepción
En algunos casos, en Visual Studio, cuando (Build || Rebuild) además de ejecutar IISExpress se enfrenta a esta excepción:
Solución
Eres bueno 2 GO!
fuente
Parece que al cambiar el nombre del ensamblado de un proyecto se soluciona el problema.
Entonces, en lugar de esto
Lo cambio a esto
Tenga en cuenta que solo lo cambié de
Increment and Recall
aIncrement_Recall
, simplemente eliminé los espacios. Ahora está funcionando bien para mí.fuente
Eliminar el proceso w3wp.exe (IIS) a menudo resolverá esto.
En general, puede conocer el proceso que tiene el bloqueo en el archivo navegando a la carpeta bin e intentando eliminarlo. El mensaje de error que aparecerá, en caso de que otro proceso lo esté usando, contendrá el nombre del proceso que necesita ser eliminado.
fuente
Me enfrenté al mismo problema en VS 2012 Versión 11.0.60610.01 Actualización 3 en Windows 8
No había ventanas de diseñador abiertas y el proyecto era una simple aplicación de consola.
La eliminación del proceso vshost que accede al archivo no funciona la mayor parte del tiempo ya que el proceso no accede al archivo.
La solución más simple que funciona y requiere la menor cantidad de tiempo es eliminar el proyecto de la solución, construir otro proyecto en la solución y luego volver a agregar el original.
Es irritante y una pérdida de tiempo, pero es la menos costosa de todas las otras opciones que conozco.
Espero que esto ayude...
fuente
Creo que lo resolví eliminando la marca de verificación
Break all processes when one process breaks
en las opciones de depuración (primera captura de pantalla del op-> segunda opción).Ha estado construyendo / funcionando bien por un tiempo desde que lo desmarqué.
Estoy usando los controles MySql NET Connector y DevExpress en mi proyecto. Puede ser que uno de ellos no esté eliminando conexiones, enlaces, etc. bien debido a que esta bandera está activada.
EDITADO: definitivamente funciona! No más "No se puede copiar el archivo" y no más errores de diseñador de formularios.
fuente
Agregue el evento previo a la compilación de su proyecto maestro taskkill / f / fi "pid gt 0" / im "YourProcess.vshost.exe"
fuente
Mi contribución de 10 centavos.
Todavía tengo este problema ocasionalmente en VS 2015 Update 2.
Descubrí que cambiar el objetivo de compilación resuelve el problema.
Pruebe esto: si está en DEBUG, cambie a RELEASE y compile, luego vuelva a DEBUG. El problema se fue.
Stefano
fuente
Siga los pasos a continuación.
Los pasos anteriores resolvieron el error permanentemente :)
fuente
Si ninguna de las respuestas funciona, intente esta simple comprobación. Busque cualquier MSbuild.exe que ejecute y mantenga su proyecto EXE. Elimine MSBuild.exe y debería estar listo para comenzar.
fuente
No puedo dar una solución para evitar que esto suceda, pero al menos puedes RENOMBRAR el archivo bloqueado (explorador de Windows o ventana de comando clásica) y luego compilar / compilar. No es necesario reiniciar o reiniciar VS201x. Con algo de experiencia, puede agregar una secuencia de comandos previa a la compilación para eliminar archivos antiguos o cambiar el nombre y luego quitarlo del camino en caso de que haya un bloqueo.
fuente
Ver esta otra respuesta . Básicamente, podría tener procesos MSBuild.exe ejecutándose en segundo plano que consumen archivos de recursos. Si tiene tareas previas o posteriores a la compilación que hacen que se inicie un MSBuild a través de la línea de comandos, intente agregar el indicador "/ nr: false" a este comando. Pero nuevamente, vea la respuesta anterior para obtener detalles más específicos.
fuente
Finalmente, cómo arreglarlo. ¿Por qué no podemos continuar con la depuración después de la primera depuración porque el primer exe de depuración sigue ejecutándose? Entonces, después de la primera depuración, debe ir al Administrador de tareas -> Pestaña Proceso -> [su nombre de proyecto exe] y finalizar el proceso exe.
esto funciona para mi :)
fuente
La respuesta de @ Geoff ( https://stackoverflow.com/a/25251766/3739540 ) es buena, pero arroja el código de error 1 en la recompilación.
Esto es lo que funcionó para mí (2> nul 1> nul al final + salida 0):
fuente
Si está depurando plantillas T4 , esto sucede todo el tiempo. Mi solución (antes de que MS arregle esto) sería simplemente matar este proceso:
Administrador de tareas -> Usuario -> T4VSHostProcess.exe
Este proceso solo aparece cuando depura una plantilla T4, no cuando ejecuta una.
fuente
Aquí hay un script para definitivamente deshacerse de este problema:
La secuencia de comandos debe invocarse desde cada evento previo a la compilación del proyecto VS.
fuente
[Trabaja para mi]
fuente
Esta pregunta fue el primer resultado al buscar el siguiente error:
al compilar en Visual Studio 2013 (Actualización 3).
Solución: desinstalar "Productivity Power Tools" en Visual Studio 2013.
https://connect.microsoft.com/VisualStudio/feedback/details/533411
fuente
En mi caso, fue el corredor Resharper Unit Tests (más las pruebas de NUnit, nunca tuve ese problema con MsTests). Después de matar el proceso, pude reconstruir el proceso, sin reiniciar el sistema operativo o VS2013
fuente
JetBrains.Resharper.TaskRunner.*
No me di cuenta de que todavía tenía mi depurador conectado e intentaba construir en la misma instancia de Visual Studio. Una vez que detuve el depurador pude construir.
fuente
Matar al vstest.executionengine.exe proceso (s) resuelve este problema el 90% del tiempo para mí. Si eso no funciona, también eliminar QTAgent32.exe y luego eliminar las carpetas / bin y / obj para el proyecto en cuestión.
Esta es la parte más irritante de mi día de trabajo. :)
fuente
Para mí, fue el antivirus Avast el que no permitió a Visual Studio escribir / leer / ejecutar archivos. Así que tuve que agregar la carpeta Visual studio 2010/2012 a la lista de exclusión de antivirus. Y justo después de ese baam ... funciona.
fuente
Asegúrese de cerrar todas las instancias wcfSvcHost e intente nuevamente. ¡Funcionó para mí!
fuente