หยุด Visual Studio ไม่ให้เปิดหน้าต่างใหม่ของเบราว์เซอร์เมื่อเริ่มดีบั๊กหรือไม่


340

ฉันมีหน้าต่างที่เปิดอยู่พร้อมกับเว็บไซต์ที่ฉันกำลังดีบั๊กอยู่ ฉันไม่จำเป็นต้องมี VS เพื่อเปิดตัวอีกครั้งสำหรับฉันทุกครั้งที่ฉันต้องตรวจแก้จุดบกพร่อง

มีวิธีหยุดพฤติกรรมนี้หรือไม่?


คุณเปิดใช้งานการท่องเว็บแบบแท็บหรือไม่ .. และคุณใช้งาน IE อยู่ใช่ไหม
— Quintin Robinson

คำตอบ:


415

เปิดคุณสมบัติของโครงการเริ่มต้นของคุณ ( โครงการ→ {ProjectName} คุณสมบัติ ...จากเมนูหลักหรือคลิกขวาที่โครงการของคุณในโซลูชัน Explorerและเลือกคุณสมบัติ ) จากนั้นไปที่แท็บเว็บและภายใต้เริ่มการทำงานเลือกไม่เปิดหน้า . รอการร้องขอจากโปรแกรมประยุกต์ภายนอก

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


นั่นดูเหมือนจะเป็นทางออกที่ดีจริงๆ แต่ก็เหมือนกับ Slace มันไม่หยุดการทำงานที่จุดพักมันบอกว่าไม่มีสัญลักษณ์ถูกโหลด ขอบคุณ
— Sker

9
มันทำ ฉันใช้เพื่อแก้ไขข้อบกพร่องตลอดเวลา คุณต้องมีการกำหนดค่าที่ไม่ถูกต้อง ตรวจสอบอีกครั้งว่าคุณได้เปิดใช้งานการแก้ไขข้อบกพร่องใน web.config แล้วและคุณกำลังเรียกใช้งานโครงสร้างการดีบัก
— Pawel Krakowiak

1
@mjohnsonengr ฉันขอสาบานว่านี่เป็นการตั้งค่าต่อผู้ใช้ที่อยู่ในเครื่อง ... บางทีคุณอาจมีการเช็คอินไฟล์. csproj.user (คุณไม่ควรทำ)
— Pawel Krakowiak

1
ดังนั้นมันจึงเป็น [การตั้งค่าท้องถิ่น] ก่อนหน้านี้ฉันสันนิษฐานว่าการตั้งค่าโครงการทั้งหมดในพื้นที่นั้นถูกเก็บไว้ในทีม csproj ก่อนหน้านี้ฉันได้ลองเปลี่ยน URL ที่เบราว์เซอร์จะเปิดโดยแก้ไข "Project URL" และเห็นว่ามีการเปลี่ยนแปลงใน. csproj เมื่อตรวจสอบอย่างใกล้ชิดตอนนี้ฉันเห็นว่ามีเครื่องหมาย "ใช้การตั้งค่าเซิร์ฟเวอร์กับผู้ใช้ทั้งหมด" ซึ่งควบคุมเฉพาะฟิลด์นั้น ความผิดฉันเอง.
— mjohnsonengr

4
สำหรับ Visual Studio บน Mac การตั้งค่าที่เปรียบเทียบได้อยู่ภายใต้ "โครงการ> ตัวเลือก> เรียกใช้> ค่าเริ่มต้น> ASP.NET Core" ยกเลิกการเลือก "เปิด URL ในเว็บเบราว์เซอร์เมื่อแอพเริ่มต้น"
— IronRod

135

สำหรับ VS 15.7.1 Tools→การOptions→การProjects and Solutions→การ→การยกเลิกWeb ProjectsStop debugger when browser window is closed


6
VS 15 คือ Visual Studio 2017 , BTW
— Uwe Keim

2
การเปลี่ยนแปลงที่แนะนำไม่ได้ทำในสิ่งที่เป็นคำถาม
— Anatolyevich

1
ทำงานได้ดีใน VS2019 (16.4.4)
— Rory McCrossan

75

อัปเดตคำตอบสำหรับโครงการ. NET Core Web Api ...

คลิกขวาที่โครงการของคุณเลือก "Properties" ไปที่ "Debug" และยกเลิกการเลือกช่องทำเครื่องหมาย "Launch browser" (เปิดใช้งานตามค่าเริ่มต้น)

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


1
@Grey ตัวเลือก "เปิดเบราว์เซอร์" อยู่ที่ไหนตัวเลือกปัจจุบัน?
— Ayush Singhania

ฉันได้อัปเดตคำตอบ: คุณต้องไปที่คุณสมบัติของโครงการเพื่อไปที่ตัวเลือก
— CennoxX

44

ในโครงการ ASP.Net 5 ตอนนี้สามารถตั้งค่าสำหรับแต่ละโปรไฟล์การเรียกใช้

เปิดไฟล์launchsettings.jsonภายใต้โฟลเดอร์คุณสมบัติโครงการเริ่มต้นและเพิ่มลง"launchBrowser": falseในโปรไฟล์ที่คุณกำหนดค่าเช่นใน:

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}

13

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

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

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

Web Projectsเลือก

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

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

มันใช้งานได้สำหรับฉัน หวังว่าจะช่วยได้


1
ขอบคุณสำหรับเคล็ดลับนี้
— Win Man

มันยังคงเปิดแท็บใหม่ทุกครั้งเมื่อฉันเริ่มแก้จุดบกพร่อง
— เลียนแบบ

12

F5คุณสามารถใช้แนบไปกับฟังก์ชั่นในกระบวนการมากกว่าการกด

นอกจากนี้ยังช่วยให้คุณสามารถนำทางไปยังส่วนการทำงานที่เป็นที่รู้จักโดยไม่ต้องโหลด VS debugger ที่ช้าลง


ฉันได้ลองแล้ว แต่มันจะไม่หยุดทำงานเมื่อพบจุดพัก ฉันต้องการที่จะหยุดที่จุดพักมีวิธีการเปิดใช้งานหรือไม่ ขอบคุณ
— sker

1
โดยมีเงื่อนไขว่าของคุณแนบกับกระบวนการที่โหลดแอสเซมบลีที่แน่นอนเดียวกันซึ่งอยู่ใน / bin / โฟลเดอร์ของแอปพลิเคชันจุดสั่งหยุดทั้งหมดจะทำงาน (โอ้และให้มีไฟล์. pdb!)
— Aaron Powell

ฉัน Googled เกี่ยวกับวิธีการแก้ไขที่ แต่ดูเหมือนว่าปัญหามาก ฉันไม่สามารถทำงานได้ ฉันจะใช้ I Have the Hat ในขณะเดียวกัน ขอบคุณ.
— sker

ฉันสามารถดีบักได้โดยกด F5 ด้วยตัวเลือก "รอการร้องขอจากแอปพลิเคชันภายนอก" แต่ฉันไม่สามารถรับ Attach To Process ให้ทำงานได้ (ติดกับ INetMgr.exe) ไม่หยุดที่จุดพัก ฉันใช้ VSCommands ใน VS 2013 แต่ VSCommands เวอร์ชันใหม่ 2015 ยังไม่รองรับ "Attach to IIS" หวังว่าฉันจะรู้ว่าปัญหาคืออะไร
— ErikE

12

ฉันได้แก้ไขปัญหาของฉันโดยทำตามขั้นตอนด้านล่าง ไปที่เครื่องมือ >> คลิกที่ตัวเลือก >> คลิกที่โครงการและโซลูชัน >> โครงการบนเว็บ >> ยกเลิกการเลือกตัวเลือก "หยุดการดีบักเมื่อปิดเบราว์เซอร์"ป้อนคำอธิบายรูปภาพที่นี่


ทางออกที่ดีที่สุดช่วยโครงการ. net หลักของฉัน
— V319

คำตอบที่ถูกประเมินต่ำเกินไป
— Bimal Das

9

เมื่อคุณเปิดโครงการเว็บ / แอปครั้งแรกให้ทำCtrl- F5ซึ่งเป็นทางลัดสำหรับการเริ่มต้นแอปพลิเคชันโดยไม่ต้องดีบัก จากนั้นเมื่อคุณกดF5และเปิดตัวดีบักในภายหลังมันจะใช้อินสแตนซ์ของ IE นั้น จากนั้นหยุดและเริ่มการดีบักใน Visual Studio แทนที่จะปิด IE

มันทำงานบนเครื่องของฉัน ฉันใช้เว็บเซิร์ฟเวอร์ในตัว ไม่รู้ว่าจะสร้างความแตกต่างหรือไม่

Firefox จะยังคงเปิดอยู่ดังนั้นคุณสามารถดีบักได้ทั้งสองอย่างในเวลาเดียวกัน


เฮ้นั่นใช้ได้! ขอบคุณมาก. ตอนนี้ฉันสามารถหลีกเลี่ยงประมาณ 100 windows พิเศษต่อเซสชันการเข้ารหัส นอกจากนี้เมื่อฉันกด F5 VS ปรับขนาดหน้าต่าง IE ของฉัน คุณรู้หรือไม่ว่าฉันจะหลีกเลี่ยงสิ่งนั้นได้อย่างไร
— Sker

ขออภัยนักเล่นสกีฉันไม่ทราบคำตอบว่า - มันไม่ได้เกิดขึ้นสำหรับฉันทำข้างต้น แต่อาจมีคำตอบที่ไหนสักแห่ง บางที IE กำลังจดจำขนาดหน้าต่างและไม่เกี่ยวข้องกับสถานการณ์การแก้ไขข้อบกพร่องหรือไม่
— Rex Miller

7

ดูเหมือนจะมีหนึ่งกรณีที่ไม่มีการข้างต้น แต่ช่วยได้ดังต่อไปนี้ ฉันกำลังพัฒนาโครงการสำหรับแพลตฟอร์มคลาวด์ Windows Azure และฉันมีบทบาททางเว็บ มีปุ่มตัวเลือกอย่าเปิดหน้าในคุณสมบัติของโครงการ -> {ชื่อโครงการ} ...ตามที่ชี้ไปที่ Pawel Krakowiak แต่ไม่มีผลในกรณีของฉัน แต่อย่างใด อย่างไรก็ตามมีโครงการคลาวด์หลักในตัวสำรวจโซลูชันและมีโฟลเดอร์บทบาทอยู่ภายใต้ หากฉันคลิกขวาที่บทบาทเว็บของฉันในโฟลเดอร์นี้และเลือกคุณสมบัติฉันจะได้รับการตั้งค่าอีกชุดและบนแท็บการตั้งค่าจะมีเบราว์เซอร์เปิดใช้งานเพื่อตั้งค่าสถานะหลังจากยกเลิกการเลือกหน้าต่างเบราว์เซอร์ใหม่


6

เนื่องจากฉันไม่มีตัวเลือกที่กล่าวถึงใน VS ของฉันซึ่งเป็น Visual Studio Enterprise 2017 ฉันจึงต้องมองหาตัวเลือกอื่น

นี่คือสิ่งที่ฉันได้พบ:

ไปที่เครื่องมือ -> ตัวเลือก -> แท็บการดีบั๊ก (ทั่วไป) และยกเลิกการเลือก "เปิดใช้งานการดีบัก JavaScript สำหรับ Asp.Net (Chrome และ IE)

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


5

คำตอบของ Joao Costa ยังคงเป็นจริงสำหรับ. net core 2 project

launchsettings.json -> "launchBrowser": false

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}

1
นี่เป็นประโยชน์อย่างมาก เป็นที่น่าสังเกตว่า launchSettings.json นี้ถูกซ่อนอยู่ภายใต้ Properties "Folder" ใน "Solution Explorer"
— netpoetica

2

ฉันดูคำตอบและไม่เห็นวิธีแก้ปัญหาที่พบ ถ้าเป็นเช่นนั้นฉันขอโทษ ในกรณีของฉันกำลังใช้ Visual Studio 2015 ในตัวสำรวจโซลูชันคลิกขวาที่ไฟล์ Project และคลิกคุณสมบัติ ไปที่แท็บ Debug และควรมีข้อมูลว่าคุณเปิดตัว "IIS Express หรือ Web (DNX)" สำหรับสองรายการแรกแล้วจากนั้นควรมีช่องทำเครื่องหมายสำหรับ "Launch URL:" ยกเลิกการเลือกตัวเลือกนี้และเบราว์เซอร์ของคุณจะไม่เปิดขึ้นโดยอัตโนมัติทุกครั้งที่คุณไปตรวจแก้จุดบกพร่องแอปพลิเคชันของคุณ หวังว่านี่จะช่วยให้ใครบางคนออกมา


2

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

ก่อนที่ฉันจะมาถึงวิธีการแก้ปัญหานี้ฉันยังคงมองไปที่bindingInformationapplicationhost.config ของโซลูชันอย่างไม่รู้จักเหน็ดเหนื่อยหาคำใบ้ว่าทำไมสิ่งต่าง ๆ จึงไม่ทำงาน

กลับกลายเป็นว่าสิ่งง่าย ๆที่ฉันมองข้ามคือโครงการต่าง ๆ มีการตั้งค่าส่วนบุคคลเช่นกัน

ดังนั้นนอกเหนือจากProject > {Project-Name} Properties... > Web > Start Actionโครงการแบ็กเอนด์ของฉันฉันยังต้องไปWebsite > Start Options... > Start Actionที่โครงการ Frontend ของฉัน เมื่อไปถึงที่นั่นฉันเลือกDon't open a page. Wait for a request from an external applicationและมีความสุขนับตั้งแต่!

การตั้งค่าแบ็กเอนด์ การตั้งค่าส่วนหน้า


2

คุณสามารถคลิกขวาที่โครงการของคุณแล้วเลือกPropertiesบนDebugแท็บที่คุณควรยกเลิกการเลือกlaunch browserช่องทำเครื่องหมาย



0

ตอนนี้คุณสามารถไปยังคุณสมบัติของเว็บได้โดยคลิกลูกศรดรอปดาวน์ถัดจากปุ่มเรียกใช้!

  1. คลิกปุ่มแบบเลื่อนลงถัดจาก "เรียกใช้"
  2. {name} โครงการ อสังหาริมทรัพย์
  3. คลิก "เว็บ" ในรายการด้านซ้าย
  4. ใต้ส่วน "เริ่มการทำงาน" คลิกอย่าเปิดหน้า

คุณทุกชุด!

PS: มันเหมาะกับฉันฉันอยู่ในเวอร์ชัน 16.5.5 ของ VS Professional 2019 :)

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