Trwałe rozwiązanie (+ dla maszyn budowlanych)
Visual Studio 2017
W przypadku VS 2017 wywołaj następujące skrypty CMD w ramach docelowego konta systemu Windows:
Społeczność edycja
Profesjonalna edycja
Enterprise
edition
TL; DR. Uwagi dla biednych DisableOutOfProcBuild.exe
, oferowane przez Microsoft rozwiązanie, z którego korzystam w VS 2017.
DisableOutOfProcBuild.exe
nie zakłada, że wywołasz go z folderu instalacyjnego . Nie możesz więc skopiować tego pliku .exe. (Przy okazji, jeśli chcesz zbudować .vdproj, musisz zainstalować VS.)
DisableOutOfProcBuild.exe
będzie działać tylko wtedy, gdy bieżący katalog CMD jest ustawiony na lokalizację instalacji DisableOutOfProcBuild.exe.
Na przykład w przypadku wersji VS Professional musimy zadzwonić
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 i starsze
przez CMD dla bieżącego użytkownika systemu Windows
Dla wielu osób tworzenie / korekta HKEY_CURRENT_USER\..
nie zawsze działa lub działa na stałe.
Próbując to rozwiązać, stwierdziłem, że w rzeczywistości muszę stworzyć / zmienić jakiś dziwny klucz pod HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Ale odkryłem również, że jeśli będę używał konsoli CMD HKCU
z proponowaną poprawką
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
, zapisze to wartość dokładnie w tym dziwnym kluczu HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , a nie do HKEY_CURRENT_USER .
Więc to działa od pierwszego ujęcia i na zawsze. Po prostu użyj konsoli 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 do budowania serwerów
Z drugiej strony ten kod zawsze działa dla bieżącego konta użytkownika, które go uruchamia (z powodu HKEY_CURRENT_USER). Ale serwery kompilacji często używają dedykowanych kont lub systemu lokalnego itp.
Naprawiłem to na moich maszynach do kompilacji, dodając następujący prosty plik wsadowy do moich zadań kompilacji (Jenkins, TeamCity, CruiseControl)
VS-2015 ,
VS-2013 ,
VS-2017-Community ,
VS-2017-Professional ,
VS-2017-Enterprise
elegant solution
) w skrócie, IMHO.