Solution permanente (+ pour build-machines)
Visual Studio 2017
Pour VS 2017, appelez les scripts CMD suivants sous votre compte Windows cible:
Communauté Edition
professionnelle Edition
Enterprise
Edition
TL et DR. Notes pour les pauvres DisableOutOfProcBuild.exe
, la solution proposée par Microsoft que j'utilise pour VS 2017.
DisableOutOfProcBuild.exe
ne suppose pas que vous l'appellerez hors de son dossier d'installation . Donc, vous ne pouvez pas copier ce fichier .exe. (Au fait, si vous voulez construire .vdproj, vous devez installer VS.)
DisableOutOfProcBuild.exe
ne fonctionnera que si le répertoire CMD actuel est défini sur l'emplacement d'installation de DisableOutOfProcBuild.exe.
À titre d'exemple, pour l'édition VS Professional, nous devons appeler
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 et versions antérieures
par CMD pour l'utilisateur Windows actuel
Pour de nombreuses personnes, la création / correction sous HKEY_CURRENT_USER\..
ne fonctionne pas toujours ou ne fonctionne pas en permanence.
En essayant de résoudre cela, j'ai trouvé qu'en fait je dois créer / modifier une clé étrange sous HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Mais j'ai également trouvé que si j'utilise une console CMD HKCU
avec le correctif proposé,
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
cela écrira la valeur exactement dans cette clé étrange HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , pas dans HKEY_CURRENT_USER .
Donc, cela fonctionne dès le premier coup et pour toujours. Utilisez simplement la 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)
Solveur pour les serveurs de construction
Par contre ce code fonctionne toujours pour un compte utilisateur actuel qui le lance (à cause de HKEY_CURRENT_USER). Mais les serveurs de build utilisent souvent des comptes dédiés ou un système local, etc.
Je l'ai corrigé sur mes machines de construction en ajoutant le fichier de commandes simple suivant à mes tâches de construction (Jenkins, TeamCity, CruiseControl)
VS-2015 ,
VS-2013 ,
VS-2017-Communauté ,
VS-2017-Professionnel ,
VS-2017-Entreprise
elegant solution
) dans le gist, à mon humble avis.