2012-04-27 9 views
12

Si los archivos binarios de salida se bloquearon en Visual Studio 2010 (o anterior), la compilación simplemente fallaría y diría que no se pudo copiar porque los archivos estaban en uso.Cómo detener las tareas de copia de MSBuild reintentar automáticamente

Ahora se entra en un bucle de reintento, que es realmente molesto porque:

  • No se puede interrumpir
  • no ayuda a la situación

Sólo significa que tiene que esperar más tiempo para que falle la compilación.

¿Alguien sabe cómo apagar esto?

Respuesta

21

Las siguientes líneas deben ayudar:

<PropertyGroup> 
    <CopyRetryCount>0</CopyRetryCount> 
</PropertyGroup> 

deberá añadirlas en el archivo de proyecto (que es *.*proj, por ejemplo, csproj), justo después de la apertura <Project> etiqueta.

Para resolver el problema globalmente, estas líneas deben colocarse en c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets justo después de la etiqueta de apertura <Project>. Más información: http://msdn.microsoft.com/en-us/library/3e54c37h.aspx

No estoy seguro de si puede ocasionar algunos problemas de compilación en el futuro, esto lo encontré en este momento.

Actualización: para VS 2013 ubicación anterior ya no funciona, por lo que puede colocar estas líneas en c:\Program Files (x86)\MSBuild\12.0\Microsoft.Common.props.

+0

Gracias señor. Esto me ahorrará horas durante mi vida. Estoy seguro de que esta idea suena bien en teoría, pero es una molestia tremenda en la práctica. – SolutionYogi

+0

VS debe tener una opción para eso en la interfaz de usuario. – Pedro77

Cuestiones relacionadas