Solución permanente (+ para máquinas de construcción)
Visual Studio 2017
Para VS 2017, llame a los siguientes scripts de CMD en su cuenta de Windows de destino:
Comunidad Edición
Profesional edición
de Enterprise
edición
TL; DR. Notas para los pobres DisableOutOfProcBuild.exe
, la solución ofrecida por Microsoft que uso para VS 2017.
DisableOutOfProcBuild.exe
no asume que lo llamará fuera de su carpeta de instalación . Por lo tanto, no puede copiar este archivo .exe. (Por cierto, si desea compilar .vdproj, debe instalar VS.)
DisableOutOfProcBuild.exe
solo funcionará si el directorio CMD actual está configurado en la ubicación de instalación de DisableOutOfProcBuild.exe.
Como ejemplo, para la edición VS Professional debemos llamar
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 y versiones anteriores
por CMD para el usuario actual de Windows
Para muchas personas, la creación / corrección de abajo HKEY_CURRENT_USER\..
no siempre funciona o funciona de forma permanente.
Tratando de resolver esto, encontré que, de hecho, tengo que crear / cambiar alguna clave extraña en HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Pero también descubrí que si voy a usar una consola CMD HKCU
con la solución propuesta,
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
esto escribirá el valor exactamente en esa clave extraña HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , no en HKEY_CURRENT_USER .
Entonces, esto funciona desde un primer disparo y para siempre. Simplemente use la consola CMD.
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
@REM (use 12.0_Config for VS2013)
Solver para servidores de compilación
Por otro lado, este código siempre funciona para una cuenta de usuario actual que lo inicia (debido a HKEY_CURRENT_USER). Pero los servidores de compilación a menudo usan cuentas dedicadas o sistema local, etc.
Lo arreglé en mis máquinas de compilación agregando el siguiente archivo por lotes simple a mis tareas de compilación (Jenkins, TeamCity, CruiseControl)
VS-2015 ,
VS-2013 ,
VS-2017-Community ,
VS-2017-Professional ,
VS-2017-Enterprise
elegant solution
) en esencia, en mi humilde opinión.