โซลูชันถาวร (+ สำหรับเครื่องสร้าง)
Visual Studio 2017
สำหรับ VS 2017 เรียกใช้สคริปต์ CMD ต่อไปนี้ภายใต้บัญชี Windows เป้าหมายของคุณ:
ชุมชนฉบับ
มืออาชีพรุ่น
เอ็นเตอร์ไพรส์
ฉบับ
TL; ดร. หมายเหตุสำหรับปัญหาที่ไม่ดีDisableOutOfProcBuild.exe
โซลูชันที่ Microsoft นำเสนอซึ่งฉันใช้สำหรับ VS 2017
DisableOutOfProcBuild.exe
ไม่ถือว่าคุณจะเรียกมันออกจากโฟลเดอร์การติดตั้งออกจากโฟลเดอร์การติดตั้งดังนั้นคุณไม่สามารถคัดลอกไฟล์. exe นี้ได้ (อย่างไรก็ตามหากคุณต้องการสร้าง. vdproj คุณต้องติดตั้ง VS. )
DisableOutOfProcBuild.exe
จะใช้งานได้ก็ต่อเมื่อไดเร็กทอรี CMD ปัจจุบันถูกตั้งค่าเป็นตำแหน่งการติดตั้งของ DisableOutOfProcBuild.exe
ตัวอย่างเช่นสำหรับ VS Professional edition เราต้องโทร
CD "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild"
CALL DisableOutOfProcBuild.exe
Visual Studio 2015 และรุ่นก่อนหน้า
โดย CMD สำหรับผู้ใช้ Windows ปัจจุบัน
สำหรับคนจำนวนมากการสร้าง / แก้ไขภายใต้HKEY_CURRENT_USER\..
ไม่ได้ผลหรือทำงานอย่างถาวรเสมอไป
พยายามแก้ปัญหานี้ฉันพบว่าอันที่จริงฉันต้องสร้าง / เปลี่ยนคีย์แปลก ๆ ภายใต้HKEY_USERS HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
แต่ฉันยังพบว่าถ้าผมจะใช้คอนโซล CMD สำหรับHKCU
กับการแก้ไขที่นำเสนอ
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
นี้จะเขียนค่าตรงเข้าที่สำคัญแปลกHKEY_USERS \ S-1-5-XX-xxxxxxxxxx-XX ...ไม่ได้ไปที่HKEY_CURRENT_USER
ดังนั้นสิ่งนี้ใช้ได้ผลตั้งแต่ช็อตแรกและตลอดไป เพียงใช้คอนโซล 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 สำหรับสร้างเซิร์ฟเวอร์
ในทางกลับกันรหัสนี้ใช้ได้กับบัญชีผู้ใช้ปัจจุบันที่เปิดใช้งานเสมอ (เนื่องจาก HKEY_CURRENT_USER) แต่บิลด์เซิร์ฟเวอร์มักใช้บัญชีเฉพาะหรือ Local System เป็นต้น
ฉันแก้ไขมันในเครื่องสร้างของฉันโดยเพิ่มไฟล์แบตช์ง่ายๆต่อไปนี้ในงานสร้างของฉัน (Jenkins, TeamCity, CruiseControl)
VS-2015 ,
VS-2013 ,
VS-2017-Community ,
VS-2017-Professional ,
VS-2017-Enterprise
elegant solution
) ในส่วนสำคัญ IMHO