หยุด 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.