"विजुअल स्टूडियो में IIS एक्सप्रेस वेब सर्वर लॉन्च करने में असमर्थ।"




visual-studio web (12)

मेरी भी यही समस्या थी। जैसा कि @Kautsky Lozano एक और एप्लिकेशन के ऊपर उल्लेख करता है जो उस पोर्ट का उपयोग कर रहा है।

तो [विंडोज ओएस के लिए] बस:

  • ओपन रिसोर्स मॉनिटर (टास्क मैनेजर -> प्रदर्शन -> ओपन रिसोर्स मॉनिटर)
  • नेटवर्क टैब पर क्लिक करें।
  • और टीसीपी कनेक्शंस में उस एप्लिकेशन को ढूंढते हैं जो IIS पोर्ट का उपयोग करने वाले स्थानीय पोर्ट का उपयोग करता है और इसे बंद करता है। (यह मेरे मामले में फ़ायरफ़ॉक्स था)

मैंने दृश्य स्टूडियो के माध्यम से अपनी वेब सेवा चलाने का प्रयास किया। मुझे एक समस्या का सामना करना पड़ा जैसे:

---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.

Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)

---------------------------
OK   
---------------------------

मैंने कार्य प्रबंधक को देखा और पाया कि पीआईडी ​​4 का उपयोग सिस्टम द्वारा किया जाता है और इसका विवरण NT Kernel & System. इसलिए मैंने http service को रोकने की कोशिश की। सभी निर्भरता सेवाएं बंद हो गईं। लेकिन मैं http सेवा को रोकने जैसे मुद्दे का सामना कर रहा हूं

The service is starting or stopping.  Please try again later.

इसलिए, मैंने मैन्युअल रूप से सेवा को रोकने और शुरू करने की कोशिश की। लेकिन अंतिम प्रक्रिया अक्षम है। अगर कोई इस मुद्दे पर मदद कर सकता है तो यह मददगार होगा


सभी उत्तरों को संक्षेप में प्रस्तुत करना। 2 समाधान हैं। दोनों ने मेरे लिए काम किया। - समाधान # 1 उसी पोर्ट का उपयोग करने वाले ऐप को मारें। - समाधान # 2 अपनी परियोजना के लिए एक अलग बंदरगाह का उपयोग करने के लिए IIS एक्सप्रेस कॉन्फ़िगर करें।

समाधान # 1 (त्रुटि संदेश में पोर्ट को दबाकर 443 था) कमांड लाइन में चलाएँ:

netstat -ao | findstr 443

यह लौटता है: TCP 0.0.0.0:443 pe01:0 LISTENING 2904 अंतिम संख्या (@ chris-schiffhauer के लिए धन्यवाद) मारने के लिए पीआईडी ​​है। कार्य प्रबंधक पर जाएँ -> प्रक्रियाएँ -> [सभी उपयोगकर्ताओं से प्रक्रियाएँ दिखाएँ], PID = 2904 के साथ एक प्रक्रिया को मारें। मेरे मामले में, यह VmWare होस्ट था।

समाधान # 2 (संदेश का अर्थ था: URL के लिए " http://localhost:433/ " साइट "MyProjectWebsite0" ... ) पंजीकृत करने में विफल । नोट करें: फ़ोलोइंग फ़ाइल को विरूपपैड ++ में खोलें: C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config इसमें एक पंक्ति खोजें:

<site name="MyProject.Website0" id="...
...
            <bindings>
                <binding protocol="http" bindingInformation="*:80:localhost" />
                <binding protocol="https" bindingInformation="*:443:localhost" />
            </bindings>

या तो 433 को किसी और चीज़ में बदल दें, जैसे 4330 या फिर परस्पर विरोधी को हटाना <binding.../> टैग।


बस इसी मुद्दे को ठीक करने की कोशिश में आधा दिन बर्बाद हो गया, मुझे लगा कि मुझे उस समाधान को जोड़ना चाहिए जो आखिरकार मेरे लिए काम कर गया।

टीएल, डॉ। अगर netstat इंगित करता है कि समस्याग्रस्त उपयोग में नहीं है, फिर भी कुछ अन्य लोगों को पूरी तरह से अलग श्रेणी में आज़माएं

मैंने पहले भी इस समस्या में भाग लिया है, लेकिन आमतौर पर दृश्य स्टूडियो को पुनरारंभ करना, पोर्ट बदलना (1 से वेतन वृद्धि) या रीबूटिंग ट्रिक करते हैं। हालाँकि इस अवसर पर इसमें से किसी ने भी मदद नहीं की, और netstat एक परस्पर विरोधी प्रक्रिया नहीं ढूंढ रहा था। मैंने भी IIS और विज़ुअल स्टूडियो को फिर से स्थापित किया और कई अन्य कार्यक्रमों को हटा दिया, जिन पर मुझे संदेह था कि हस्तक्षेप हो सकता है। ऐसा लग रहा था जैसे IIS एक ही साइट के कई उदाहरण लॉन्च करने की कोशिश कर रहा है।

आखिरकार मैंने बिना खोज के findstr चलाने की कोशिश की। मैंने सक्रिय बंदरगाहों की सूची को नेत्रहीन रूप से स्कैन किया और देखा कि यद्यपि मैंने जिन लोगों की कोशिश की थी, उन्हें सूचीबद्ध नहीं किया गया था, समान सीमा में बंदरगाहों का उपयोग करने वाली कुछ प्रक्रियाएं थीं। इसलिए इसके बजाय मैंने एक ऐसी सीमा की तलाश की, जो मुफ़्त थी, एक पोर्ट नंबर उठाया और जो अब काम कर रही है।

मुझे यह सुनकर अच्छा लगेगा कि कोई भी समझा सकता है कि यह काम क्यों किया गया हो सकता है?


वेब प्रोजेक्ट प्रॉपर्टीज पर जायें >> वेब >> प्रोजेक्ट यूआरएल >> चेंज पोर्ट यानि http://localhost:22345/ => http://localhost:22346/ उम्मीद है कि यह मदद करेगा!


MVC प्रोजेक्ट को अपग्रेड करते समय मुझे यह समस्या थी। मैंने अपने मौजूदा .csproj फ़ाइल पर नए-MVC .csproj की नकल की और फिर पूरी तरह से काम कर रहे प्रोजेक्ट पर वापस काम किया। जो मैं विचार करने में विफल रहा वह पुराने .csproj में मौजूदा पोर्ट नंबर है। नए प्रोजेक्ट में एक नया पोर्ट नंबर था, फिर भी प्रोजेक्ट / असेंबली का नाम साझा किया। यह पर्याप्त था कि IIS एक्सप्रेस अपना दिमाग खो दे और इस अपवाद को फेंक दे।

बस पुराने पोर्ट नंबर को git से खोदकर और उसे प्रोजेक्ट सेटिंग्स में शामिल करने के लिए IIS एक्सप्रेस URL को बदलकर इसे ठीक करने के लिए पर्याप्त था।


पोर्ट नंबर मेल नहीं खाते

मेरे मामले में समस्या मेरे बाइंडिंग टैग में थी। मेरे समाधान फ़ोल्डर में .vs में कॉन्फ़िगर फ़ाइल में पाया गया, पोर्ट नंबर मेल नहीं खाते। बाइंडिंग इस प्रकार थे

<bindings>
     <binding protocol="http" bindingInformation=":16433:localhost" />
</bindings>

और मेरी सेटिंग में मुझे http://localhost:1943/

तो मैंने जो किया वह था बाध्यकारी के अंदर हटाना और अपना वेब ऐप चलाना, फिर इसने एक अलग संख्या के साथ नया बंधन उत्पन्न किया फिर मैंने अपनी सेटिंग्स में नए उत्पन्न पोर्ट की प्रतिलिपि बनाई, फिर त्रुटि दूर हो गई।


मेरे मामले में, निम्नलिखित ने चाल चली:

  • साइट को .vs \\ config \ applicationhost.config से हटाएं
  • साइट को दस्तावेज़ों से हटाएं \ IISExpress \ config \ applicationhost.config
  • IISUrl को .csproj से हटाएं

जब मैंने विज़ुअल स्टूडियो को फिर से शुरू किया, तो इसने प्रोजेक्ट को पूरी तरह से नया पोर्ट नंबर सौंपा और पूरी तरह से चला गया


मैंने पहले से ही कोशिश की:

  • पुनरारंभ किया गया विज़ुअल स्टूडियो
  • सभी उपलब्ध पोर्टों की जाँच करें जो शायद मेरी विशिष्ट संख्या को सुन रहे हों लेकिन यह हमेशा शून्य परिणाम देते हैं। मेरे पोर्ट में कोई प्रक्रिया नहीं सुनाई दे रही है।
  • मैंने भी इसका उपयोग करने की कोशिश की लेकिन शून्य परिणाम।

    netstat -ऑन | ": 80" ढूंढें

  • मैंने भी प्रयोग करने की कोशिश की लेकिन शून्य परिणाम भी लौटाए।

    netstat -ao | findstr

तो मैंने जो किया वह इस " Microsoft.VsHub.Server.HttpHostx64.exe " को हटा दिया गया, फिर मेरी परियोजना सफलतापूर्वक शुरू हुई और ब्राउज़र में लॉन्च हो गई। त्रुटि ठीक की गई। मुझे यकीन नहीं है कि क्यों लेकिन यह काम करता है।

यहाँ स्क्रीनशॉट है:



https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/

त्रुटि कोड 0x80070020 अर्थ है ERROR_SHARING_VIOLATION , जो IIS एक्सप्रेस (या IIS) के मामले में इसका मतलब है कि जिस पोर्ट पर यह सुनने का प्रयास कर रहा है, वह किसी अन्य प्रक्रिया द्वारा उपयोग किया जा रहा है।

netstat कमांड का उपयोग यह जानने के लिए करें कि कौन सा एप्लिकेशन पोर्ट का उपयोग कर रहा है।

netstat -ao | findstr <port_number_to_search_for>

a पैरामीटर सभी कनेक्शन और सुनने वाले बंदरगाहों को प्रदर्शित करने के लिए नेटस्टैट बताता है।

o पैरामीटर कनेक्शन से जुड़ी प्रक्रिया आईडी प्रदर्शित करने के लिए नेटस्टैट बताता है।

उपरोक्त netstat कमांड चलाने से आउटपुट जैसे:

C:\>netstat -ao | findstr 4026
TCP    12.0.0.1:4026        cs-pc:4026         LISTENING       9544

प्रदर्शित अंतिम संख्या (9544 यहाँ) प्रक्रिया आईडी है।


मुझे भी यही समस्या थी। मैंने सिर्फ विजुअल स्टूडियो को फिर से शुरू किया और यह काम किया।


मेरे पास बस यह मुद्दा था भले ही नेटस्टैट ने कोई संघर्ष नहीं दिखाया।

निम्नलिखित मेरे लिए यह तय:

  1. Visual Studio को बंद करें
  2. फ़ाइल एक्सप्लोरर खोलें
  3. अपमानजनक परियोजना के फ़ोल्डर में नेविगेट करें
  4. ओब्ज और बिन फोल्डर को डिलीट करें
  5. * .User फ़ाइल हटाएं (यह संभवतः वैकल्पिक है)
  6. Visual Studio को पुनरारंभ करें और पुन: प्रयास करें




service