วิธีปิดใช้งานหน้าต่างดีบักใหม่ใน VS2017


175

ฉันใช้ Visual Studio 2017 RC และผิดหวังมากกับหน้าต่าง Chrome ใหม่ที่ปรากฏขึ้นเมื่อคุณคลิกดีบั๊ก

ปัญหาเกี่ยวกับหน้าต่าง Debug Chrome:

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

ไม่มีใครรู้วิธีปิดหน้าต่างสไตล์ Debug ใหม่และกลับไปเป็นอย่างไรใน VS 2015


8
ตัวเลือก -> โครงการและโซลูชัน -> โครงการบนเว็บ ยกเลิกการเลือก "หยุดการดีบั๊กเมื่อปิดหน้าต่างเบราว์เซอร์" นี่จะหยุดเปิดหน้าต่างใหม่ตลอดเวลา
t00thy

คำตอบ:


46

นี่ไม่ใช่ปัญหา แต่เป็นคุณลักษณะใหม่ใน VS 2017 ก่อนหน้านี้เราสามารถดีบัก JS และ TypeScript โดยใช้ IE ในโหมดดีบัก (ของ VS) เท่านั้น แต่ตอนนี้พวกเขาได้แนะนำการดีบัก JS และ TS ภายใน VS โดยใช้คุณสมบัติการดีบักระยะไกลของ Chrome หากคุณกำลังเรียกใช้แอปพลิเคชันของคุณในโหมดแก้ไขข้อบกพร่อง (กด F5) และ Chrome เป็นเบราว์เซอร์ที่เลือก Visual Studio 2017 จะพยายามเปิดเซสชันการดีบักแบบรีโมทด้วย Chrome บนพอร์ตเฉพาะ ด้วยการดีบักแบบรีโมท

  1. เบราว์เซอร์เปิดตัวในโหมดธรรมดาเช่นไม่มีส่วนขยายและไม่มีประวัติ ฯลฯ การดีบักแบบรีโมทไม่ทำงานกับอินสแตนซ์ที่มีอยู่ของ Chrome ที่ทำงานอยู่แล้ว

  2. คุณจะเห็นหน้าต่างนี้อยู่พักหนึ่งเสมอ ณ จุดนี้ VS กำลังพยายามแนบดีบักเกอร์ระยะไกลกับ VS

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

  1. หากต้องการกลับไปสู่ประสบการณ์การดีบัก VS 2015 ให้เปลี่ยนเป้าหมายการแก้ไขข้อบกพร่องจาก Chrome เป็น IIS Express

โพสต์นี้จะอธิบายรายละเอียดคุณสมบัตินี้ https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

วิธีแก้ปัญหาอย่างรวดเร็วคือกด F5 และเปิดเซสชันการดีบักและลืมเกี่ยวกับหน้าต่าง Chrome ที่เพิ่งเปิดใหม่ ไปที่อินสแตนซ์ Chrome ปกติของคุณและเพียงแค่เปิดไซต์ของคุณในแท็บใหม่ คุณจะยังคงสามารถดีบักและทำทุกอย่างได้เนื่องจาก IIS Express จะยังคงเรียกใช้แอปของคุณที่พอร์ตนั้น

อัปเดต: คำตอบที่ได้รับจาก @Steveadoo เป็นวิธีที่ถูกต้องในการก้าวไปข้างหน้า ตัวเลือกที่แสดงในภาพหน้าจอของเขาควบคุมวิธีการเปิดตัว Chrome สำหรับการดีบัก ยกเลิกการเลือกหากคุณต้องการใช้อินสแตนซ์ Chrome ปกติของคุณ

หวังว่านี่จะช่วยได้


ขอบคุณ! ฉันได้ตั้งเป้าหมายการดีบั๊กเป็น IIS Express แต่ตอนนี้หลังจากคลิกดีบั๊กหรือหลังจากการเผยแพร่มันไม่ได้เปิดเบราว์เซอร์โดยอัตโนมัติอีกต่อไปและไปที่ URL (เช่น VS2015 ได้) ฉันเห็นลิงก์ของคุณบอกว่า "จะมีการตั้งค่าใน Visual Studio ที่ให้คุณปิดการใช้งานการดีบักฝั่งไคลเอ็นต์ในทั้ง IE และ Chrome แต่น่าเสียดายที่มันไม่ได้ทำให้ผู้สมัครรุ่นนี้ปล่อย" ผมหวังว่าจะได้รับการเพิ่มเข้ามาในผมมากที่ต้องการวิธีการทำสิ่งที่ 2015 :)
mejobloggs

คุณควรจะสามารถเปิดใช้งานได้โดยไม่ต้องดีบักโดยกด ctrl + f5 แทนที่จะเป็น f5 นอกจากนี้เพื่อแก้ไขปัญหานี้: "หน้าต่าง Chrome ปิดลงเมื่อการดีบักหยุดดังนั้นฉันต้องเปิดหน้าต่างใหม่เพื่อเรียกดูเว็บไซต์ในพื้นที่ต่อไป" - แยกออกจากเป้าหมายการดีบักแทนที่จะหยุดการดีบัก (ดีบั๊ก -> แยกทั้งหมด)
Michael Braude

เราใช้ตัวเลือก "Local IIS" ในเว็บไซต์ของเราและฉันไม่ได้รับตัวเลือก "IIS Express" ในเมนูแบบเลื่อนลง เมื่อฉันพยายามเรียกใช้ไฟล์แนบกับ Chrome ฉันได้รับหน้าต่าง "โปรดรอขณะที่เราแนบ" แต่ VS ให้ข้อความแสดงข้อผิดพลาด:Unable to start program "http://mywebsite.com". system cannot find file specified
DLeh

14
คำตอบง่ายๆจะมีประโยชน์มากขึ้นสำหรับคำถามเช่นนี้
AngJobs on Github

2
ลงคะแนนสำหรับสิ่งนี้ คำตอบที่ถูกต้องควรเป็นตัวเลือก -> โครงการและการแก้ปัญหา -> โครงการเว็บ ยกเลิกการเลือก "หยุดการดีบั๊กเมื่อปิดหน้าต่างเบราว์เซอร์" สิ่งนี้จะหยุดการเปิดหน้าต่างใหม่ตลอดเวลา
t00thy

356

ฉันไม่แน่ใจว่าสิ่งนี้มาพร้อมกับการอัพเดต VS 2017 ล่าสุดหรือไม่ แต่ใน Debug -> ตัวเลือกคุณสามารถปิดการใช้งานได้ทันที

เพียงลบเครื่องหมายที่ไฮไลต์: ป้อนคำอธิบายรูปภาพที่นี่


3
ขอบคุณสำหรับการแก้ปัญหา ปัญหาข้างต้นใน VS 2017 ทำให้ระบบของฉันไม่ตอบสนอง หวังว่าจะช่วยในกรณีนี้จะลองและอัปเดต
Satyajit

ใช่. มันมาพร้อมกับ VS2017 แต่ขอบคุณที่ช่วยชีวิต!
Zahid Mustafa

ขอบคุณ!! ฉันลืมว่าการดีบักง่ายขึ้นมากเพียงใดก่อนที่จะเพิ่ม "คุณสมบัติ" นี้
Andrew

5
เพิ่งได้ 15.7 - มันไม่ทำงานสำหรับฉันตอนนี้ - การเริ่มต้นใน c # debugger ยังคงเปิดในหน้าต่างใหม่
niico

9
สำหรับผู้ที่มีปัญหาคืบคลานกลับใน 15.7 ดูstackoverflow.com/a/50268873/2497สำหรับการแก้ปัญหา
Daniel Gimenez

86

สำหรับผู้ที่มีการอัปเดต 15.7 และยกเลิกการเลือกตัวเลือก JavaScript ไม่ได้ทำเคล็ดลับพบวิธีแก้ปัญหาที่นี่:

https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> โครงการเว็บยกเลิกการเลือก“ หยุดดีบักเกอร์เมื่อปิดหน้าต่างเบราว์เซอร์”


ขอบคุณสำหรับสิ่งนี้! ฉันประหลาดใจที่ VS2017 มีช่องทำเครื่องหมาย ~ 3 เพื่อเปิด / ปิดคุณสมบัตินี้ ฉันแน่ใจว่ามีความแตกต่างเล็กน้อยระหว่างพวกเขาทั้งหมด
James Haug

20

นี่คือบล็อกของ Microsoft เกี่ยวกับฟังก์ชันใหม่นี้และวิธีการย้อนกลับ

https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

นี่คือเส้นทางที่ฉันติดตามเพื่อปิดการใช้งาน:

แก้ไขข้อบกพร่อง> ตัวเลือก> การดีบัก> ทั่วไป> (ไม่เลือก) เปิดใช้งานการดีบัก JavaScript สำหรับ ASP.Net (Chrome และ IE)


19

สำหรับ VS 2017 ไปที่เครื่องมือ -> ตัวเลือก -> โครงการและโซลูชัน -> โครงการเว็บและยกเลิกการเลือกตัวเลือกสุดท้ายตามที่แสดงในภาพ

นอกจากนี้คุณสามารถอ้างอิงได้ที่นี่: https://www.johanbostrom.se/blog/how-to-disable-the-built-in-chrome-from-starting-when-debugging-in-visual-studio-2017

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


8

ป้อนคำอธิบายรูปภาพที่นี่ในเมนู VS ให้คลิก:

เครื่องมือ> ตัวเลือก> ค้นหา "โครงการเบราว์เซอร์"> ยกเลิกการเลือกตัวเลือกสุดท้าย "หยุดดีบักเกอร์เมื่อปิดหน้าต่างเบราว์เซอร์

นี้จะทำงาน


3

แก้ไขข้อบกพร่อง> ตัวเลือก> การดีบัก> ทั่วไป> (ไม่เลือก) เปิดใช้งานการดีบัก JavaScript สำหรับ ASP.Net (Chrome และ IE)

เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> โครงการเว็บยกเลิกการเลือก“ หยุดดีบักเกอร์เมื่อปิดหน้าต่างเบราว์เซอร์”

ใช้งานได้สำหรับฉัน visual studio professional 2017, v 15.7.3


2

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

  1. ปิดใช้งานการดีบัก JavaScript ในการดีบัก -> ตัวเลือก -> การดีบัก -> ทั่วไปเปิดใช้งานการดีบัก JavaScript สำหรับ ASP.Net
  2. ปิดใช้งานการหยุดการดีบักเมื่อเบราว์เซอร์ถูกปิดในการดีบัก -> ตัวเลือก -> โครงการและการแก้ปัญหา -> โครงการเว็บ -> หยุดการดีบั๊กเมื่อปิดหน้าต่างเบราว์เซอร์ปิดเบราว์เซอร์เมื่อการดีบักหยุด

เมื่อฉันใช้เพียงหนึ่งในสองสิ่งนี้มันไม่ทำงาน


2

ถ้าคุณดูกรณีJavaScript

สำหรับการเปิดใช้งานและปิดการใช้งานการดีบัก JavaScript ใน VisualStudio จะเหมือนกันในทุกรุ่น

  • เมนูเครื่องมือ
  • ตัวเลือก...
  • การดีบัก -> ทั่วไป
  • ยกเลิกการเลือก "เปิดใช้งานการดีบัก JavaScript สำหรับ ASP.NET"

-1

ใน Visual Studio 2017:

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

หากระบบแจ้งให้คุณเปิดใช้งานดีบักเกอร์ JS อีกครั้งให้เลือกตัวเลือกอื่น (ระบบจะแจ้งให้คุณทราบหากคุณมีเบรกพอยต์ในรหัสสคริปต์):

ปิดการดีบักเกอร์สคริปต์

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