Solução permanente (+ para máquinas de construção)
Visual Studio 2017
Para o VS 2017, chame os seguintes scripts CMD em sua conta de destino do Windows:
Community edition
Professional edition
Enterprise
edition
TL; DR. Notas para pobres DisableOutOfProcBuild.exe
, a solução oferecida pela Microsoft que uso para o VS 2017.
DisableOutOfProcBuild.exe
não assume que você irá retirá- lo de sua pasta de instalação . Portanto, você não pode copiar este arquivo .exe. (A propósito, se você deseja construir .vdproj, você deve instalar o VS.)
DisableOutOfProcBuild.exe
só funcionará se o diretório CMD atual estiver definido como o local de instalação de DisableOutOfProcBuild.exe.
Por exemplo, para a edição VS Professional, devemos chamar
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 e anteriores
por CMD para o usuário atual do Windows
Para muitas pessoas, a criação / correção HKEY_CURRENT_USER\..
nem sempre funciona ou funciona permanentemente.
Tentando resolver isso, descobri que, na verdade, tenho que criar / alterar alguma chave estranha em HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Mas também descobri que, se for usar um console CMD HKCU
com a correção proposta,
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
isso gravará o valor exatamente naquela chave estranha HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , não no HKEY_CURRENT_USER .
Então, isso funciona desde o primeiro tiro e para sempre. Basta usar o console 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 construir servidores
Por outro lado, este código sempre funciona para uma conta de usuário atual que o inicia (por causa de HKEY_CURRENT_USER). Mas os servidores de construção costumam usar contas dedicadas ou Sistema Local, etc.
Corrigi-o em minhas máquinas de construção adicionando o seguinte arquivo em lote simples às minhas tarefas de construção (Jenkins, TeamCity, CruiseControl)
VS-2015 ,
VS-2013 ,
VS-2017-Community ,
VS-2017-Professional ,
VS-2017-Enterprise
elegant solution
) na essência, IMHO.