Visual Studio อย่าเปิดอินสแตนซ์เบราว์เซอร์ใหม่


111

เมื่อฉันพยายามเรียกใช้เว็บแอปพลิเคชันใน visual studio 2017RC บน windows 10 มันจะเปิดอินสแตนซ์เบราว์เซอร์ใหม่ (ในกรณีของฉันคือ chrome) ฉันได้ลองใช้ internet explorer แล้วสถานการณ์ก็เหมือนกันและเบราว์เซอร์ไม่ได้ลงชื่อเข้าใช้ แต่ถ้าฉันเพิ่งเรียกใช้ chrome ด้วยตนเองแสดงว่าลงชื่อเข้าใช้แล้วจะป้องกันไม่ให้ Visual Studio เรียกใช้อินสแตนซ์เบราว์เซอร์ใหม่ในแต่ละครั้งที่เรียกใช้เว็บแอปพลิเคชันได้อย่างไร เมื่อกดรันเว็บไซต์ควรเปิดในหน้าต่างเดียวกับแอปพลิเคชันก่อนหน้า (แท็บถัดไป)


คุณต้องการให้เปิดแท็บใหม่หรือไม่
Alexan

@Alex วิธีป้องกันการเปิดอินสแตนซ์ใหม่ไม่ใช่แท็บกระบวนการอื่น ...
ovasylenko

ฉันสามารถหาสิ่งนี้ได้ในเมนูใด api.monosnap.com/rpc/file/… . นี่ไง?
ovasylenko

ใช่ฉันแค่คิดว่าค่าเริ่มต้นของคุณอาจเป็นเบราว์เซอร์ที่ไม่ระบุตัวตน
Alexan

@ อเล็กซ์เบราว์เซอร์ของฉันไม่อยู่ในโหมดไม่ระบุตัวตนโดยค่าเริ่มต้น
ovasylenko

คำตอบ:


261

ฉันได้ค้นพบว่าการปิดการดีบัก Javascript หมายความว่าไซต์จะเปิดขึ้นในแท็บใหม่ของอินสแตนซ์ Chrome ที่มีอยู่ จากสิ่งที่ฉันเห็นใน Visual Studio การดีบักนั้นไม่ดีเท่าเครื่องมือ dev ของ Chrome ดังนั้นการปิดสิ่งนี้จึงไม่ใช่ปัญหาสำหรับฉัน

ปิดการดีบักจาวาสคริปต์

อัปเดต

ณ VS2017 15.7.1 (และยังคงเป็นกรณี VS2019 16.0.0) การแก้ไขนี้ใช้ไม่ได้อีกต่อไปและฉันพบว่าฉันต้องยกเลิกการเลือกเพิ่มเติม Stop debugger when browser window is closed

ใส่คำอธิบายภาพที่นี่


มันง่ายมากเพียงแค่สังเกตว่ามีตัวเลือกการดีบักเฉพาะสำหรับ Chrome และการทดลอง
Fishcake

1
ฉันเพิ่งอัปเดตเป็น 15.7.1 น. ตอนนี้เปิดหน้าต่างใหม่
Fishcake

7
คำตอบที่อัปเดต @niico เรียกคืนการทำงานของการเปิดในเบราว์เซอร์ที่มีอยู่ (อย่างน้อยสำหรับฉัน)
Fishcake

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

3
ขอบคุณสำหรับการอัปเดต 15.7.1 นี่คือ VS bug imo VS ควรมี "หยุดดีบักเกอร์เมื่อปิดหน้าต่างเบราว์เซอร์" โดยไม่เลือกโดยค่าเริ่มต้นเพื่อให้ทำงานเหมือนกับเวอร์ชันก่อนหน้า
Matt Frear

13

มีวิธีแก้ปัญหานั้น ง่ายมากโปรดทำตามขั้นตอนด้านล่าง

  • เปิด Visual Studio
  • ไปที่ "Tools" จากนั้นไปที่ "Options"
  • เลือก "Projects and Solutions" และในนั้นเลือก "Web Projects"
  • โปรดยกเลิกการเลือกตัวเลือกนี้ "หยุดดีบักเกอร์เมื่อปิดหน้าต่างเบราว์เซอร์ปิดเบราว์เซอร์เมื่อการแก้ไขจุดบกพร่องหยุดลง"
  • คลิกตกลง

ตอนนี้เริ่มโปรเจ็กต์มันจะไม่เปิดใน Chrome Instant ใหม่ แต่อยู่ใน Chrome Instant ที่ทำงานอยู่แล้ว


8

คุณสามารถปิดไม่ให้เปิดเว็บไซต์ได้เลยจากการตั้งค่าการดีบัก

ProjectSettings-Debug

เมื่อเว็บแอปพลิเคชันทำงานคุณสามารถเปิดเว็บไซต์ได้จากแถบงาน

ใส่คำอธิบายภาพที่นี่

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


ฉันไม่ต้องการปิดการเปิดตัว ฉันแค่ต้องการป้องกันไม่ให้เปิดหน้าต่างเบราว์เซอร์ใหม่ทุกครั้งที่เรียกใช้แอปพลิเคชัน เมื่อฉันกดเรียกใช้เว็บไซต์ควรเปิดในหน้าต่างเดียวกับแอปพลิเคชันก่อนหน้า (แท็บถัดไป)
ovasylenko

5
ฉันรู้ว่าคำตอบนี้ไม่ได้ตอบคำถาม
OPs

6

ฉันต้องการแบ่งปันเหตุผลของปัญหาและภาพหน้าจอ สาเหตุที่เปิดหน้าต่างใหม่เนื่องจากเปิดใช้งานการดีบัก JS Chrome เปิดตัวโดยเปิดใช้งานการดีบักดังนั้นจึงต้องมีอินสแตนซ์ใหม่ หากคุณต้องการเปลี่ยนกลับไปใช้พฤติกรรมเดิมจาก Visual Studio 2015 คุณสามารถทำได้ แต่คุณจะต้องปิดใช้งานการดีบัก JS ดูด้านล่าง:

ใส่คำอธิบายภาพที่นี่

แหล่งที่มาเดิม

การสนทนาดั้งเดิมบนฟอรัม Visual Studio


3

ฉันชอบตั้งค่าของฉันแบบนี้ฉันเรียกใช้เพจจากที่ที่ฉันต้องการ (ไม่มีอินสแตนซ์ใหม่หรือการเปิดแท็บ)

หน้าต่างคุณสมบัติโครงการ


3

วิธีแก้ปัญหานี้ใช้ได้กับฉันสำหรับ VS 2019

เครื่องมือ => ตัวเลือก

จากนั้นพิมพ์Projects and Solutionsในช่องค้นหา

Web Projectจากนั้นเลือก

จากนั้นยกเลิกการเลือกตัวเลือกด้านล่าง

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

สิ่งนี้ใช้ได้กับฉัน หวังว่านี่จะช่วยได้


0

ลองดูในลิงค์นี้ คุณจะพบคำตอบสำหรับคำถามของคุณและข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นเมื่อคุณเริ่ม / หยุดการดีบักและเมื่อคุณปิดหน้าต่างเบราว์เซอร์

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