เกิดข้อผิดพลาดขณะตรวจสอบความถูกต้อง 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.