डिबग शुरू करते समय एक नई ब्राउज़र विंडो लॉन्च करने से विज़ुअल स्टूडियो को रोकें?


340

मेरे पास पहले से एक विंडो खुली हुई है जिस वेब साइट पर मैं डिबगिंग कर रहा हूं। मुझे हर बार डीबग करने की आवश्यकता के लिए मेरे लिए एक और लॉन्च करने के लिए वीएस की आवश्यकता नहीं है।

क्या इस व्यवहार को रोकने का कोई तरीका है?


क्या आपने टैब सक्षम ब्राउज़िंग सक्षम किया है? .. और क्या आप IE का उपयोग कर रहे हैं?
क्विंटन रॉबिन्सन

जवाबों:


415

अपनी स्टार्टअप परियोजना के गुण खोलें ( प्रोजेक्ट → {प्रोजेक्टनेम} गुण ... मुख्य मेनू से या समाधान एक्सप्लोरर में अपनी परियोजना पर राइट क्लिक करें और गुण चुनें ), फिर वेब टैब पर और उसके नीचे नेविगेट करें प्रारंभ कार्रवाई चुनें एक पेज न खोलें । किसी बाहरी अनुप्रयोग के अनुरोध के लिए प्रतीक्षा करें

आप अभी भी चल रहे एप्लिकेशन को एक्सेस करने के लिए किसी भी ब्राउज़र (या फ़िडलर, जो भी) का उपयोग कर पाएंगे, लेकिन यह ब्राउज़र विंडो को स्वचालित रूप से नहीं खोलेगा, यह केवल पृष्ठभूमि में शुरू होगा और किसी भी अनुरोध की प्रतीक्षा करेगा।


यह वास्तव में एक अच्छा समाधान की तरह लगता है, लेकिन स्लैस की तरह, यह ब्रेकपॉइंट्स पर निष्पादन को नहीं रोकता है, यह कहता है कि कोई प्रतीक लोड नहीं किए गए हैं। हालांकि धन्यवाद।
स्कीयर 4'09

9
ऐसा होता है। मैं हर समय डिबगिंग के लिए इसका उपयोग करता हूं। आपके पास गलत कॉन्फ़िगरेशन होना चाहिए। डबल चेक करें कि आपके पास web.config में डिबगिंग सक्षम है और आप डीबग बिल्ड चला रहे हैं।
पावेल क्राकोविआक

1
@mjohnsonengr मैं कसम खाता हूं कि यह एक उपयोगकर्ता सेटिंग है जो स्थानीय है ... शायद आपके पास .csproj.user फ़ाइल चेक-इन (आपको नहीं करनी चाहिए)।
पावेल क्राकोविआक

1
तो यह [एक स्थानीय सेटिंग] है। मैंने पहले यह मान लिया था कि उस क्षेत्र की सभी परियोजना सेटिंग्स को टीम csproj में संग्रहीत किया गया था। मैंने पहले URL को बदलने की कोशिश की थी कि ब्राउज़र "प्रोजेक्ट URL" को संशोधित करके खुलेगा और उसने देखा कि यह .croroj में बदल गया है। करीब से निरीक्षण करने पर, अब मैं देखता हूं कि "सभी उपयोगकर्ताओं के लिए सर्वर सेटिंग लागू करें" चेकमार्क है जो उस क्षेत्र को नियंत्रित करता है। मेरी गलती।
mjohnsonengr

4
मैक पर विजुअल स्टूडियो के लिए, तुलनीय सेटिंग्स "प्रोजेक्ट> विकल्प> रन> डिफॉल्ट> ASP.NET कोर" के तहत है। जब ऐप शुरू होता है "वेब ब्राउज़र में URL खोलें" को अनचेक करें।
आयरनरोड

135

वीएस 15.7.1 के लिए ToolsOptionsProjects and SolutionsWeb Projects→ अनचेक Stop debugger when browser window is closed


6
वीएस 15 विज़ुअल स्टूडियो 2017 , बीटीडब्ल्यू है।
उवे कीम

2
सुझाए गए परिवर्तन वह नहीं करते जो सवाल है।
अनातोलीयेविच

1
VS2019 (16.4.4) में ठीक काम करता है
रोरी मैकक्रॉसन

75

.NET कोर वेब एपी प्रोजेक्ट के लिए अद्यतन उत्तर ...

अपनी परियोजना पर राइट-क्लिक करें, "गुण" चुनें, "डीबग" पर जाएं और "लॉन्च ब्राउज़र" चेकबॉक्स (डिफ़ॉल्ट रूप से सक्षम) को अनटिक करें।

यहां छवि विवरण दर्ज करें


1
@ ग्रे यह विकल्प "लॉन्च ब्राउज़र" कहां मौजूद है?
आयुष सिंघानिया

मैंने उत्तर अपडेट कर दिया है: विकल्प पर जाने के लिए आपको अपनी परियोजना के गुणों पर जाना होगा।
CennoxX

44

ASP.Net 5 प्रोजेक्ट में अब इसे प्रत्येक लॉन्च प्रोफ़ाइल के लिए सेट किया जा सकता है।

स्टार्टअप प्रोजेक्ट प्रॉपर्टीज फ़ोल्डर के तहत फाइल लॉन्चसेटिंग्स को खोलें। "launchBrowser": falseउस प्रोफाइल में जोड़ें जिसे आप कॉन्फ़िगर कर रहे हैं, जैसे:

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

13

यह समाधान मेरे लिए वीएस 2019 के लिए काम करता है

उपकरण => विकल्प

फिर टाइप करें Projects and solutions सर्च बॉक्स में करें।

का चयन करें Web Projects

फिर नीचे विकल्प को अचयनित करें।

डिबगर बंद करें जब ब्राउज़र विंडो बंद होती है, डीबगिंग बंद होने पर ब्राउज़र बंद करें।

यह मेरे लिए काम करता है। आशा है कि यह मदद करेगा।


1
इस टिप के लिए धन्यवाद।
जीत मैन

जब भी मैं डीबग करना शुरू करता हूं, तब भी यह हर बार एक नया टैब खोलता है।
नकल

12

आप प्रेस करने के बजाय अटैच टू प्रोसेस फ़ंक्शन का उपयोग कर सकते हैं F5

यह आपको वी.एस. डिबगर की मंदी के बिना ज्ञात कामकाजी वर्गों के माध्यम से नेविगेट करने की अनुमति भी दे सकता है।


मैंने कोशिश की है, लेकिन जब यह एक ब्रेकपॉइंट पाता है तो यह निष्पादन को रोक नहीं पाएगा। मुझे ब्रेकपॉइंट पर रुकने की ज़रूरत है, क्या इसे सक्षम करने का कोई तरीका है? धन्यवाद।
स्केर

1
बशर्ते कि आपकी प्रक्रिया से जुड़ी हुई वही सटीक असेंबलियों को लोड किया गया हो, जो एप्लिकेशन के / बिन / फ़ोल्डर में हों, सभी ब्रेकप्वाइंट काम करेंगे (ओह, और बशर्ते .pdb फाइलें हों!)
हारून पॉवेल

मैं कैसे ठीक करने के लिए पर googled लेकिन यह बहुत परेशानी की तरह लगता है। मैं यह काम करने के लिए नहीं मिल सका। मैं इस बीच में हैट समाधान का उपयोग करूँगा। धन्यवाद।
स्कीयर

मैं "बाहरी अनुप्रयोग से अनुरोध के लिए प्रतीक्षा करें" विकल्प के साथ F5 दबाकर डिबग कर सकता हूं, लेकिन मुझे काम करने के लिए अटैच टू प्रोसेस (INetMgr.exe को संलग्न करना) नहीं मिल सकता है। ब्रेकपॉइंट पर कभी नहीं रुकता। मैं वीएस 2013 में VSCommands का उपयोग कर रहा था, लेकिन VSCommands का नया 2015 संस्करण अभी तक "अटैच टू IIS" का समर्थन नहीं करता है। काश मुझे पता होता कि मुद्दा क्या है।
एरिक

12

मैंने नीचे दिए गए चरणों का पालन करके अपनी समस्या का समाधान किया है। टूल्स पर जाएं >> ऑप्शन्स पर क्लिक करें >> प्रोजेक्ट्स एंड सॉल्यूशंस पर क्लिक करें >> वेब प्रोजेक्ट्स >> ब्राउजर बंद होने पर "डिबगिंग बंद करें" विकल्प को अनचेक करेंयहां छवि विवरण दर्ज करें


सबसे अच्छा समाधान, मेरी .net कोर परियोजना के लिए मदद की
V319

अंडररेटेड जवाब
बिमल दास

9

जब आप पहली बार वेब / ऐप प्रोजेक्ट खोलते हैं, तो a Ctrl- करें F5, जो डिबगिंग के बिना एप्लिकेशन शुरू करने का शॉर्टकट है। फिर जब आप बाद में मारेंगेF5 में डीबगर को और लॉन्च करेंगे, तो यह IE के उस उदाहरण का उपयोग करेगा। फिर बंद करें और IE को बंद करने के बजाय विज़ुअल स्टूडियो में डिबगिंग शुरू करें।

यह मेरी मशीनों पर काम करता है। मैं देव वेब सर्वर में बनाया का उपयोग कर रहा हूँ। पता नहीं कि क्या फर्क पड़ता है।

फ़ायरफ़ॉक्स भी खुला रहेगा ताकि आप एक ही समय में या दोनों में डिबग कर सकें।


अरे वो काम करता है! बहुत बहुत धन्यवाद। अब मैं लगभग 100 अतिरिक्त विंडो प्रति कोडिंग सत्र से बच सकता हूं। इसके अलावा, जब मैंने F5 VS मारा, तो मेरी IE विंडो का आकार बदल गया। क्या आप जानते हैं कि मैं इससे कैसे बच सकता हूं?
स्कीयर

माफ करना, मुझे पता नहीं है कि इसका जवाब मुझे नहीं है - हालांकि यह मेरे लिए ऊपर वाला कर रहा है, इसलिए शायद इसका जवाब कहीं है। शायद IE अपने खिड़की के आकार को याद कर रहा है और यह डिबगिंग परिदृश्य से असंबंधित है?
रेक्स मिलर

7

ऐसा एक मामला प्रतीत होता है जिसमें उपरोक्त में से कोई भी नहीं लेकिन निम्नलिखित मदद करता है। मैं Windows Azure क्लाउड प्लेटफ़ॉर्म के लिए एक प्रोजेक्ट विकसित कर रहा हूं और मेरी एक वेब भूमिका है। परियोजना में वास्तव में एक रेडियो बटन नहीं खुला है -> {प्रोजेक्ट नाम} गुण ... जैसा कि पावेल क्राकोविआक ने बताया था, लेकिन मेरे मामले में इसका कोई प्रभाव नहीं है। हालांकि, समाधान एक्सप्लोरर में मुख्य क्लाउड प्रोजेक्ट है और इसके तहत रोल्स फ़ोल्डर है। यदि मैं इस फ़ोल्डर में अपनी वेब भूमिका को राइट-क्लिक करता हूं और गुण चुनता हूं, तो मुझे सेटिंग्स का एक और सेट मिलता है और कॉन्फ़िगरेशन टैब पर ध्वज के लिए लॉन्च ब्राउज़र होता है, इसे अनचेक करने के बाद एप्लिकेशन स्टार्ट अप पर एक नई ब्राउज़र विंडो नहीं खोली जाती है।


6

जैसा कि मैंने अपने वीएस जो विजुअल स्टूडियो एंटरप्राइज 2017 में उल्लेखित विकल्प नहीं था, मुझे कुछ अन्य विकल्प की तलाश करनी थी।

यह वही है जो मैंने पाया है:

टूल्स पर जाएं -> विकल्प -> डिबगिंग टैब (सामान्य) और अनचेक करें "Asp.Net (क्रोम और IE) के लिए जावास्क्रिप्ट डीबगिंग सक्षम करें।"

यहां छवि विवरण दर्ज करें


5

जोआओ कोस्टा जवाब भी .Net कोर 2 परियोजनाओं के लिए सही है।

launchsettings.json -> "launchBrowser": गलत

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

1
यह सुपर सहायक था। ध्यान देने योग्य बात यह है कि यह लॉन्चिंग शिफ्टिंग.जॉन "सॉल्यूशन एक्सप्लोरर" में प्रॉपर्टीज "फोल्डर" के तहत छिपा हुआ है
नेटपोएटिका

2

मैंने उत्तरों को देखा और मेरे द्वारा बताए गए समाधान को नहीं देखा। अगर यह था, मेरी माफी। मेरे मामले में, वर्तमान में Visual Studio 2015 का उपयोग कर रहे हैं। समाधान एक्सप्लोरर में, प्रोजेक्ट फ़ाइल पर राइट क्लिक करें और गुण क्लिक करें। डीबग टैब पर जाएं और इसमें पहले दो ड्रॉप डाउन के लिए "IIS एक्सप्रेस या वेब (DNX)" लॉन्च करने के तरीके की जानकारी होनी चाहिए, और फिर "लॉन्च URL:" के लिए एक चेकमार्क बॉक्स होना चाहिए। इस विकल्प को अनचेक करें और आपका ब्राउज़र आपके एप्लिकेशन को डीबग करने के लिए जाने वाले स्वचालित रूप से लॉन्च नहीं किया जाएगा। आशा है कि यह किसी को बाहर करने में मदद करता है।


2

जबकि वहाँ कई उत्कृष्ट जवाब, से लेकर कर रहे हैं सामान्य संदिग्धों को नए समाधान, मैं मैदान के लिए एक और है कि पतों प्रदान करना चाहते हैं आपको क्या करना चाहिए जब आपके पास कई परियोजनाओं के साथ एक समाधान पर काम कर रहे हैं

इससे पहले कि मैं इस समाधान पर पहुंचता, मैं समाधान bindingInformationके applicationhost.config में देखता रहा, अथक रूप से किसी भी चीज की तलाश में रहा कि चीजें बस काम क्यों नहीं कर रही थीं।

पता चला, मैंने जिस साधारण बात को नजरअंदाज किया, वह यह थी कि विभिन्न परियोजनाओं में अलग-अलग सेटिंग्स भी होती हैं।

इसलिए, Project > {Project-Name} Properties... > Web > Start Actionमेरे बैकएंड प्रोजेक्ट के अलावा , मुझे Website > Start Options... > Start Actionअपने फ्रंटेंड प्रोजेक्ट पर भी जाना था । एक बार, मैंने चयन किया Don't open a page. Wait for a request from an external applicationऔर तब से खुश हूं!

बैकएंड सेटिंग्स सीमावर्ती सेटिंग्स


2

आप अपने प्रोजेक्ट पर राइट क्लिक कर सकते हैं, फिर चुनें Properties, Debugटैब पर आपको launch browserचेकबॉक्स को अनचेक करना चाहिए ।



0

अब आप रन बटन के बगल में ड्रॉपडाउन तीर पर क्लिक करके वेब प्रॉपर्टी पर भी पहुँच सकते हैं!

  1. "रन" के बगल में ड्रॉपडाउन बटन पर क्लिक करें
  2. {प्रोजेक्ट नाम} गुण
  3. बाईं ओर सूची में "वेब" पर क्लिक करें
  4. "स्टार्ट एक्शन" सेगमेंट के तहत, पेज न खोलें पर क्लिक करें।

तम तैयार हो!

पुनश्च: यह मेरे लिए काम करता है, मैं वी.एस. प्रोफेशनल 2019 के 16.5.5 संस्करण पर हूँ :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.