เกิดข้อผิดพลาดขณะตรวจสอบความถูกต้อง HRESULT = '8000000A'


101

ฉันได้รับข้อผิดพลาดนี้มาระยะหนึ่งแล้วเมื่อใช้ devenv กับบิลด์อัตโนมัติ ฉันได้ดูทุกเว็บไซต์ที่ฉันสามารถหาได้และคำตอบตามปกติกล่าวถึงการอ้างอิงการรีเฟรช (ซึ่งฉันเชื่อว่าแก้ไขได้สำหรับการปรับใช้ด้วยตนเอง แต่ไม่ใช่สำหรับอัตโนมัติ) และลบการเข้ารหัสการควบคุมแหล่งที่มาออกจากโครงการซึ่งไม่ได้ช่วยฉัน

ข้อผิดพลาดไม่ได้เกิดขึ้นทุกครั้งที่สร้าง แต่ดูเหมือนว่าจะเกิดขึ้นแบบสุ่มในโครงการปรับใช้ที่แตกต่างกันในแต่ละครั้ง

ใครมีคำแนะนำว่าเหตุใดจึงเกิดข้อผิดพลาดนี้และจะแก้ไขได้อย่างไร


คุณได้รับโซลูชันที่หรูหรากว่านี้หรือไม่? คุณเพิ่งทริกเกอร์บิวด์ใหม่เมื่อล้มเหลวอาจมีประโยชน์ใส่สคริปต์ ( elegant solution) ในส่วนสำคัญ IMHO
Kiquenet

คำตอบ:


54

นี่เป็นปัญหาที่ทราบแล้วใน Visual Studio 2010 (เงื่อนไขการแข่งขัน) ดูรายการเชื่อมต่อนี้

เราได้พบกับปัญหานี้เช่นกันและได้รับการสนับสนุนที่ไม่น่าพอใจมากเกี่ยวกับปัญหานี้กับ Microsoft เรื่องสั้นขนาดยาว: เป็นปัญหาที่ทราบแล้วจะไม่สามารถแก้ไขได้และ Microsoft แนะนำให้ย้ายออกจากโครงการ Visual Studio Setup (.vdproj)

เราได้แก้ไขปัญหานี้โดยการเรียกใช้งาน MSI build เป็นครั้งที่สองเมื่อล้มเหลวในครั้งแรก ไม่ดี แต่ใช้งานได้เกือบตลอดเวลา (อัตราความผิดพลาดลดลงจาก ~ 10% ถึง ~ 1%)


ขอบคุณมาก. ฉันใช้อินเทอร์เน็ตเพื่อค้นหาว่าเหตุใดจึงเกิดขึ้นจริงและพบกับคำตอบของ Microsoft จำนวนมากที่คลุมเครือและไม่เป็นประโยชน์เพื่อพูดอย่างน้อยที่สุด ฉันเพิ่งทริกเกอร์บิวด์ใหม่เมื่อมันล้มเหลว แต่ก็หวังว่าจะได้โซลูชันที่หรูหรากว่านี้ ขอบคุณอีกครั้ง.
Chris C.

@ChrisC. stackoverflow.com/a/25054572/206730 answer มีคะแนนโหวตมากกว่าคุณเคยลองไหม
Kiquenet

@ oɔɯǝɹคุณช่วยอธิบายสิ่งที่คุณหมายถึงโดยการเรียกใช้ MSI build เป็นครั้งที่สองได้หรือไม่มีปัญหาเดียวกัน ..
Leon Barkan

123

การอัปเดตสำหรับผู้ที่มีปัญหานี้สำหรับ VS2013 หรือ VS2015 หลังจากอัปเกรดโครงการติดตั้ง VS200X โดยใช้ส่วนขยาย Microsoft Visual Studio Installer Projects

ทำตามสูตรสำหรับ v1.0.0.0 จาก MS ในที่สุดก็ใช้งานได้สำหรับฉัน:

โครงการตัวติดตั้ง Microsoft Visual Studio

น่าเสียดายที่เราไม่สามารถแก้ไขปัญหาบรรทัดคำสั่งสำหรับรุ่นนี้ได้ทั้งหมดเนื่องจากเรากำลังตรวจสอบวิธีที่เหมาะสมในการแก้ไข สิ่งที่เรามีคือวิธีแก้ปัญหาที่เราเชื่อว่าจะใช้ได้กับเกือบทั้งหมด หากคุณยังคงประสบปัญหานี้คุณสามารถลองเปลี่ยนค่า DWORD สำหรับค่ารีจิสทรีต่อไปนี้เป็น 0: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\MSBuild\EnableOutOfProcBuild (VS2013)
หรือ
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\MSBuild\EnableOutOfProcBuild(VS2015)
หากไม่มีอยู่คุณสามารถสร้างเป็น DWORD ได้


23
โปรดทราบว่าการอัปเดต Visual Studio 2013 จะล้างตัวแปรนี้ออกจากรีจิสทรีของคุณคุณจะต้องเพิ่มใหม่อีกครั้ง
Derek W

4
โปรดทราบว่าเมื่อทำงานกับ Jenkins จำเป็นต้องเพิ่มคีย์รีจิสทรีสำหรับผู้ใช้ที่เรียกใช้ Jenkins slaves
Jirong Hu

3
เก็บไว้ในใจกลุ่มรีจิสทรีคือ HKEY_CURRENT_USER ดังนั้นหากบัญชีนี้ถูกเรียกโดยบัญชีอื่นที่ไม่ใช่คุณ (เช่นบัญชีสร้าง tfs) คุณจะต้องเข้าสู่ระบบด้วยบัญชีนั้นและเพิ่มการตั้งค่า
Mike Cheel

3
หากต้องการเพิ่มความคิดเห็นใน @DerekW สิ่งนี้สามารถลบออกได้ด้วยการอัปเดตอัตโนมัติ
JustAnotherDeveloper

2
@MikeCheel คุณสามารถตั้งค่า HKEY_USERS \ .DEFAULT \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ MSBuild \ EnableOutOfProcBuild เพื่อแก้ไขให้กับผู้ใช้ทุกคน :)
Ian Ellis

62

อัปเดต ณ วันที่ 6/14/2017

ตอนนี้ส่วนขยาย Microsoft Visual Studio 2017 Installer Projects มีเครื่องมือตัวช่วยบรรทัดคำสั่งเพื่อให้การตั้งค่ารีจิสทรีง่ายขึ้นในการใช้ โครงการตัวติดตั้ง Microsoft Visual Studio 2017

ตัวอย่างพา ธ ของเครื่องมือ (ขึ้นอยู่กับเวอร์ชันของ Visual Studio ที่ติดตั้ง)

ฉบับมืออาชีพ: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe


ฉบับชุมชน: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe

จาก README


เครื่องมือง่ายๆนี้มีไว้เพื่อช่วยให้ผู้ใช้ตั้งค่าคีย์รีจิสทรีที่จำเป็นเพื่อหลีกเลี่ยงข้อผิดพลาดนี้ที่อาจปรากฏขึ้นเมื่อสร้างโครงการตัวติดตั้งโดยใช้การสร้างบรรทัดคำสั่ง:

ข้อผิดพลาด: เกิดข้อผิดพลาดขณะตรวจสอบความถูกต้อง HRESULT = '8000000A'

เครื่องมือนี้มีไว้สำหรับ Visual Studio 2017+ และตั้งค่าคีย์ reg นี้สำหรับอินสแตนซ์ Visual Studio ที่ติดตั้งเฉพาะสำหรับผู้ใช้ปัจจุบัน ดังนั้นหากคุณตั้งค่านี้ใน build agent โปรดใช้บัญชีผู้ใช้ที่บิวด์จะใช้

เรียกใช้ "DisableOutOfProcBuild.exe help" เพื่อดูรายละเอียดการใช้งาน



5
นี่คือทางออกที่ดีที่สุดสำหรับ VS2017
Simon O'Beirne

1
ฉันคิดว่านี่เป็นครั้งที่สามที่ฉันมีปัญหานี้ใช้เวลาหลายชั่วโมงในการพยายามแก้ไขและในที่สุดก็ค้นพบคำตอบนี้อีกครั้ง ขอบคุณ!
Hannes Sachsenhofer

2
คุณต้องเปลี่ยน dir ไปยังตำแหน่งนั้นเพื่อให้ทำงานได้อย่างถูกต้อง ดูgithub.com/it3xl/MSBuild-DevEnv-Build-Server-Workarounds/issues/…และgithub.com/it3xl/MSBuild-DevEnv-Build-Server-Workarounds/blob/…
GilesDMiddleton

1
เหมาะสำหรับฉันโดยใช้ Visual Studio 2019 Community Edition บนเครื่องสร้างของฉัน
Max Power

สิ่งนี้ได้ผลสำหรับฉันด้วย ฉันได้รับข้อผิดพลาดเดียวกันในขณะที่กำลังสร้างโซลูชันผ่านงาน Azure pipeline ฉันเพิ่งโทรหา exe นี้ครั้งเดียวในงาน CommandLine และมันใช้งานได้!
iPradeep

48

ฉันอ่านที่ไหนสักแห่งทางออนไลน์เกี่ยวกับเรื่องนี้และฉันได้แก้ไขแบบนี้แล้ว(มีคนแนะนำ) :

  • เปิดไฟล์โครงการติดตั้ง (.vdproj) ใน notepad (หรือโปรแกรมแก้ไขข้อความอื่น ๆ )
  • ลบบรรทัดเหล่านี้ที่จุดเริ่มต้นของไฟล์. vdproj:

    "SccProjectName" = "8:"
    "SccLocalPath" = "8:"
    "SccAuxPath" = "8:"
    "SccProvider" = "8:"
    
  • สร้างอีกครั้ง - ข้อผิดพลาดหายไป

ข้อผิดพลาดนั้นไม่ได้หยุดฉันจากการปรับใช้สร้างแก้ไขจุดบกพร่อง (หรือใด ๆ ) โครงการของฉันมันทำให้ฉันรำคาญ และมันเกิดขึ้นแม้ว่าฉันจะตั้งค่าโปรเจ็กต์ทั้งหมดให้สร้างในคอนฟิกูเรชันปัจจุบันและโปรเจ็กต์การตั้งค่าไม่ให้


3
ปัญหาที่เกิดขึ้นคือมันเป็นเงื่อนไขการแข่งขัน การปรับ (สุ่ม) และสร้างใหม่จะทำให้ดูเหมือนว่าได้รับการแก้ไขแล้ว เพียงแค่สร้างใหม่ก็จะทำให้ปัญหาหายไปเช่นกัน ฉันต้องการทราบว่ามันยังคง 'คงที่' หลังจากสร้าง 100 ครั้งหรือไม่
oɔɯǝɹ

6
อาจเป็นสภาพการแข่งขัน แต่การแก้ไขข้างต้นใช้งานได้และช่วยให้ฉันใช้ชีวิตต่อไปได้ (จนกว่าปัญหาถัดไปที่ทำให้ฉันกำจัดสแต็คล้น :))
gls123

39

โซลูชันถาวร (+ สำหรับเครื่องสร้าง)

Visual Studio 2017

สำหรับ VS 2017 เรียกใช้สคริปต์ CMD ต่อไปนี้ภายใต้บัญชี Windows เป้าหมายของคุณ:

ชุมชนฉบับ
มืออาชีพรุ่น
เอ็นเตอร์ไพรส์ ฉบับ

TL; ดร. หมายเหตุสำหรับปัญหาที่ไม่ดีDisableOutOfProcBuild.exeโซลูชันที่ Microsoft นำเสนอซึ่งฉันใช้สำหรับ VS 2017

  1. DisableOutOfProcBuild.exeไม่ถือว่าคุณจะเรียกมันออกจากโฟลเดอร์การติดตั้งออกจากโฟลเดอร์การติดตั้งดังนั้นคุณไม่สามารถคัดลอกไฟล์. exe นี้ได้ (อย่างไรก็ตามหากคุณต้องการสร้าง. vdproj คุณต้องติดตั้ง VS. )
  2. 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


1
หลังจากแพทช์ reg evrey ไม่กี่เดือนเป็นเวลา 2 ปีแล้วและไฟล์ CMD ใช้งานไม่ได้ในบางโซลูชัน
CMS

1
มีปัญหาเดียวกันผุดขึ้นมาจากที่ไหนเลยเมื่อสร้าง MSI จากโครงการติดตั้งบนเซิร์ฟเวอร์บิลด์ กระบวนการสร้างมักจะทำงานมาก่อนและไม่มีการเปลี่ยนแปลง แต่เริ่มล้มเหลวอย่างต่อเนื่อง เพิ่มสิ่งนี้ลงในบิลด์สคริปต์ก่อนการเรียกใช้ devenv.exe และใช้ได้กับฉันใน VS 2013 ขอบคุณมาก
จิม

ใน VS 15.8.x ฉันได้รับข้อผิดพลาดนี้แม้ว่าจะเรียกใช้ EXE อย่างไรก็ตามเมื่อปิด VS จากนั้นเรียกใช้ EXE จากนั้นรีสตาร์ท VS ข้อผิดพลาดจะได้รับการแก้ไข ดังนั้นบางสิ่งใน VS กำลังรีเซ็ตการตั้งค่า reg และวิธีแก้ปัญหาคือปิด VS เรียกใช้ DisableOutOfProcBuild.exe อีกครั้งจากนั้นเริ่ม VS
user2728841

1
การแก้ไขนี้ใช้ได้กับรุ่น VS2015 TFS vNext เราใช้บัญชี NT Authority \ Network Service ในเครื่องสำหรับการสร้างอัตโนมัติดังนั้นการเพิ่มคีย์ reg ด้วยตนเองจาก RDPing ลงใน build VM จึงไม่ได้แก้ไขข้อผิดพลาดในการสร้างอัตโนมัติ ฉันเพิ่มขั้นตอนในการสร้างคีย์ reg ก่อนขั้นตอนในการเรียก Devenv.com สำหรับไฟล์ VDPROJ หลังจากที่พยายามหาทางแก้ไขมานานฉันอยากจะขอบคุณ it3xl มาก ๆ สำหรับการโพสต์ !!!
ckkkitty

6

ตามที่ระบุไว้ในความคิดเห็นที่นี่สำหรับ VS2017 คุณจะต้องสร้าง DWORD HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0_ [IDKey] _Config \ MSBuild \ EnableOutOfProcBuild Replace [IDKey] ด้วยคำต่อท้าย ID ของคีย์ย่อย 15.0 ที่มีอยู่ของ VisualStudio .

ตัวอย่างเช่นหากใน VisualStudio คุณเห็นคีย์ "15.0_abcd1234" จะเป็น "15.0_abcd1234_Config"

ตัวอย่าง regedit


5

ขณะนี้โปรแกรมแก้ไขด่วนถูกอัปโหลดที่นี่:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186

คุณสามารถอ่านได้ที่นี่:

http://connect.microsoft.com/VisualStudio/feedback/details/595632/inconsistent-hanging-with-devenv-2010


ดังที่คุณสามารถอ่านในรายการเชื่อมต่อที่ฉันเชื่อมโยงในคำตอบของฉันโปรแกรมแก้ไขด่วนไม่ทำงาน
oɔɯǝɹ

4

ฉันประสบกับปัญหานี้หลังจากที่ย้ายโปรเจ็กต์ไปยังพีซีเครื่องอื่น (VS 2010 มีหลายโปรเจ็กต์ในโซลูชัน)

มันถูกสร้างขึ้นแล้วโครงการของฉันในคอมพิวเตอร์ต้นทาง แต่หลังจากฉันคัดลอกไปยังเป้าหมายฉันไม่สามารถสร้างโครงการติดตั้งและมีข้อผิดพลาดนี้

ฉันเปิด/Debugโฟลเดอร์ภายใต้พา ธ รูทโครงการติดตั้งของฉันมีMyProject.msiและsetup.exeไฟล์ต่างๆฉันลบออกและสร้างโครงการอีกครั้งมันใช้งานได้ หวังว่ามันจะใช้ได้กับเพื่อนบางคนเช่นกัน


อีกหนึ่ง +1 เพียงแค่ลบไฟล์. msi และ setup.exe และสร้างโครงการติดตั้งใหม่ทำให้ข้อความแสดงข้อผิดพลาดหายไป
จอร์จ

และ a -1 ดูเหมือนว่าจะแก้ปัญหานี้ได้ชั่วคราวเท่านั้นหลังจากเปิดวิธีการแก้ปัญหาอีกครั้งปัญหาก็ปรากฏขึ้นอีกครั้ง
George

@ChrisSchiffhauer สำหรับการแก้ปัญหาเพียงคุณลบไฟล์ msi และ exe ?
Kiquenet

กล่าวโดย @kubilay ขอบคุณมากสำหรับการแก้ปัญหาของคุณ !! ปัญหานี้อาจเกิดขึ้นในขณะที่ย้ายโครงการจากเฟรมเวิร์กที่เก่ากว่าไปยังเฟรมเวิร์กที่ใหม่กว่าเนื่องจากเราตั้งค่าเวอร์ชันเฟรมเวิร์กที่ใหม่กว่าในคุณสมบัติโปรเจ็กต์ เป็นไปได้ว่าโครงการติดตั้งอาจมีไฟล์. msi และ. exe ในตำแหน่งเป้าหมาย ด้วยเวอร์ชันเฟรมเวิร์กใหม่สามารถสร้างข้อผิดพลาดขณะเขียนทับไฟล์ที่ออก ดังนั้นคลิกขวาที่โครงการติดตั้ง -> ไปที่ 'ชื่อไฟล์ผลลัพธ์' (ภายใต้คุณสมบัติการกำหนดค่า \ Build) -> คลิกที่ปุ่ม '... ' (เรียกดู) -> รับตำแหน่งเป้าหมายและลบ. msi เช่นกันไฟล์. exe . ตอนนี้สร้างโครงการและควรใช้งานได้
นาวินบัณฑิต

1

การตรวจสอบการอ้างอิงโครงการอาจช่วยได้

ใน VS 2010 ให้คลิกขวาในตัวสำรวจโซลูชันของคุณจากนั้นคลิกที่ตรวจพบการพึ่งพาและรีเฟรชการอ้างอิงบางครั้งก็ช่วยแก้ปัญหาได้


1

ฉันใช้ VS 2017 แต่วิธีแก้ปัญหาข้างต้นไม่ได้ผล ดังนั้นอัปเกรดเวอร์ชันล่าสุดของ VS 2017 และใช้โซลูชัน @AussieAsh และทำงานได้ดี ...

ฉันหวังว่าโซลูชันนี้อาจมีใครบางคนได้ผล


0

กับฉันมันเกิดจากไฟล์. suo ผิด (เกิดจาก skydrive) การลบไฟล์นี้ช่วยแก้ปัญหาได้


DisableOutOfProcBuild.exe ทำงานไประยะหนึ่งจนกว่าจะไม่ทำงาน การลบไฟล์. suo ช่วยแก้ปัญหาได้
Sego

0

Visual Studio 2017 เก็บข้อมูลที่เก็บไว้ก่อนหน้านี้ในรีจิสทรีสาธารณะภายในรีจิสทรีส่วนตัวใหม่: C: \ Users \\ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_6de65198 \ privateregistry.bin

นี่คือที่ที่คุณต้องเพิ่ม EnableOutOfProcBuild ตามคำแนะนำสำหรับ VS2013 / VS2015

ในการอัปเดตรีจิสทรีส่วนตัวคุณสามารถใช้ Regedit

คลิกเพื่อเลือกโหนด HKEY_USERS

เลือกไฟล์> โหลดไฮฟ์และไปที่ไฟล์ privateregistry.bin เมื่อคุณเลือก Regedit จะถามชื่อ - ไม่สำคัญว่าคุณจะเรียกมันว่าอะไรเพราะเราจะทำในไม่ช้า

ตอนนี้โครงสร้างรีจิสทรีจะปรากฏขึ้นและคุณสามารถไปที่ Microsoft \ VisualStudio \ 15.0_Config \ MSBuild

สร้าง DWORD EnableOutOfProcBuild ใหม่ด้วยค่า 0

เมื่อเสร็จแล้วให้เลือกรูทของรัง (อะไรก็ตามที่คุณตั้งชื่อไว้ก่อนหน้านี้) และใช้ไฟล์> ยกเลิกการโหลดไฮฟ์เพื่อแยกออก

ตอนนี้ควรใช้งานได้แล้ว: o)


ไม่ต้องวุ่นวายกับไฟล์รีจิสตรีส่วนตัวคุณสามารถสร้างคีย์ 15.0_ <x> _Config ในรีจิสทรีปกติได้ด้วยตัวคุณเอง (ดูด้านบน)
Night94

0

Visual Studio 2013 ของฉันกลายเป็นExperimentalดังนั้นจึงเริ่มใช้คีย์รีจิสทรีอื่นสำหรับEnableOutOfProcBuild

ป้อนคำอธิบายภาพที่นี่

เพื่อให้แน่ใจว่าฉันเพิ่งเพิ่มอีกบรรทัดในไฟล์แบตช์ของฉันเพื่อตั้งค่ารีจิสทรีและเริ่มทำงาน:

REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\12.0Exp_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f

0

เพียงแค่เรียกใช้ exe นี้

(Visual Studio 2017 ฉบับชุมชน)

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe

(Visual Studio 2017 Enterprise Edition)

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe


0

ขั้นตอนที่ 1ฉันได้ "สร้างคีย์ DWORD ด้วยชื่อ" EnableOutOfProcBuild "และตั้งค่าเป็น" 0 "บนเส้นทางด้านล่าง

“HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณได้ลงชื่อเข้าใช้ด้วยผู้ใช้เดียวกันกับที่คุณพยายามสร้างโครงการ

มันทำงานได้ดีสำหรับฉัน


0

โอเคฉันตรวจสอบปัญหานี้จนเป็นสีฟ้าหน้าแดงผมเสียผมเสียสติและพยายามทุกขั้นตอนเท่าที่จะหาได้ :-D

วิธีการแก้ปัญหาของฉันสำหรับVisual Studio 2017 / TeamCity คือการรวมกันของสองโซลูชั่นจาก@ it3xlและความช่วยเหลือจาก@ Night94

ปัญหาดูเหมือนว่าคีย์รีจิสทรีสำหรับผู้ใช้ TeamCityหายไป

  • การเรียกใช้DisableOutOfProcBuild.exe ตามที่กล่าวโดย @AussieAshจึงไม่ได้ผลเนื่องจากเพิ่มคีย์รีจิสทรีสำหรับผู้ใช้ของฉันเท่านั้น
  • การใช้สคริปต์ที่กล่าวถึงโดย @ it3xl ล้มเหลวเมื่อเรียกใช้จาก TeamCity

ดังนั้นวิธีแก้ปัญหาคือการเพิ่มสิ่งต่อไปนี้เป็นขั้นตอนการสร้างบรรทัดคำสั่งจาก TeamCity ก่อน MSBuild:

REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\15.0_2c79e3fe_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f

เมื่อดำเนินการขั้นตอนนี้แล้วสามารถลบออกได้หากจำเป็น

สรุปโซลูชัน

ทั้ง:

  • เรียกใช้DisableOutOfProcBuild.exe ในฐานะผู้ใช้ TeamCityหรือ
  • ไปที่คีย์รีจิสทรีHKCU\SOFTWARE\Microsoft\VisualStudioและตรวจสอบเวอร์ชันที่แสดงรายการจากนั้นแก้ไขด้านบนREG ADDเพื่อให้ตรงกับเวอร์ชัน (อย่าลืมเพิ่ม_Config) เป็นขั้นตอนในการสร้าง TeamCity

อีกครั้งข้างต้นควรทำเพียงครั้งเดียว จากนั้นคุณสามารถปิดใช้งานขั้นตอนนี้ใน TeamCity โดยปล่อยให้เป็นข้อมูลอ้างอิงหากคุณพบปัญหาอีกครั้ง


-1

หากมีปัญหานี้ในวันนี้ให้ลองรีสตาร์ท Visual Studio หากไม่ได้สร้างโครงการใหม่ให้บันทึกแล้วคัดลอกไฟล์จากโครงการที่มีปัญหา ทั้งสองวิธีได้ผลสำหรับฉัน


-3

โปรดทำความสะอาดโซลูชันก่อนสร้างโซลูชันและพยายามสร้างตัวติดตั้ง มันจะลบข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.