2016-04-14 20 views
6

जारी नहीं करता है मैं एक MVC 5 परियोजना MyApp जो MyApp.dll में संकलित मैं दृश्य स्टूडियो 2015 का उपयोग कर रहा है और संकलन को लक्षित .net फ्रेमवर्क 4.5.1आईआईएस एक्सप्रेस कार्यकर्ता प्रक्रिया विधानसभा

थोड़ी देर मैं विकसित करने के बाद कहा जाता है अब समय के कम से कम सबसे संकलन नहीं कर सकते क्योंकि IIS Express Worker Process फ़ाइल \obj\Debug\MyApp.dll

अजीब बात यह है कि अगर मैं एक पूर्ण recompile बाद में करना किसी भी तरह विधानसभा मुक्त कर दिया जाता है जारी नहीं करता है और मैं उसके बाद फिर से डिबगिंग शुरू कर सकते हैं,।

(और कुछ मामलों में एक recompile अब और मदद नहीं करता है और मैं इस प्रक्रिया को मारने शुरू कर दिया है)

कोई आइडिया क्यों आईआईएस एक्सप्रेस कार्यकर्ता प्रक्रिया मेरी विधानसभा ब्लॉक करता है?

वी.एस. 2015 में त्रुटि दिखाया जा रहा है: enter image description here

+0

क्या आप जो त्रुटि प्राप्त कर रहे हैं उसके बारे में अधिक जानकारी प्रदान कर सकते हैं? त्रुटि के साथ – tmg

+0

@tmg संलग्न स्क्रीनशॉट। अगर मैं मैन्युअल रूप से फ़ाइल को हटाने की कोशिश कर रहा हूं तो ओएस मुझे बताता है कि फाइल आईआईएस एक्सप्रेस डब्ल्यूपी द्वारा उपयोग की जाती है। – gsharp

+0

छाया प्रतिलिपि अक्षम है? – usr

उत्तर

0

2 कुछ दिनों एक जाना अद्यतन करने के लिए दृश्य स्टूडियो 2015 अपडेट 1 से अपग्रेड किया है। किसी भी तरह से मेरे लिए समस्या हल हो गई। क्या कोई और भी पुष्टि कर सकता है?

-2

कृपया सूचित रहें कि यदि कार्यकर्ता प्रक्रिया (W3wp.exe) अपने MVC आवेदन का उपयोग करने की तो dll पर निर्भरता हो जाएगा रिहाई केवल जब कोशिश कर रहा है ब्राउज़र के माध्यम से पहुंचने वाला ग्राहक बंद है। आप आईआईएस में इसे तैनात करने के बाद वेब एप्लिकेशन को डिबगजिन करने का प्रयास कर सकते हैं, इस तरह एक प्रतिलिपि इनसेटप/विटुअल निर्देशिका में पोस्ट की जाएगी और वीएस में डीएलएल के लिए डायरेक्टॉय निर्भरता अवरुद्ध की जा सकती है।

2

इंटरनेट एक्सप्लोरर की तुलना में अन्य ब्राउज़र का उपयोग करते हुए एप्लिकेशन को डिबग करने से पहले मुझे क्या सामना करना पड़ा, दृश्य स्टूडियो केवल प्रक्रिया को अलग करेगा, लेकिन सेवा बंद नहीं करेगा। कभी-कभी जब हैंडल जारी किया जाता है तो एप्लिकेशन उन संसाधनों को जारी नहीं कर रहा है, जो सेवा का उपयोग कर रहे हैं (उदाहरण के लिए एक लॉग फ़ाइल का उपयोग किया जा रहा है या आपके द्वारा छोड़े गए सत्र से जुड़ी एक लंबी चल रही प्रक्रिया।) @Michael Mentions के रूप में स्मृति रिसाव हो सकती है । संसाधनों को जारी करने के लिए मुझे करीब आईआईएस को मजबूर करना पड़ा है। दूसरी बात यह है कि एक ही मशीन (आरडीपी) में 2 डेवलपर्स एक ही सर्वर को संसाधित कर रहे हैं, और बंदरगाह/पुस्तकालय एक के रूप में जारी नहीं किए जाते हैं या दूसरे इसका उपयोग कर रहे हैं। चूंकि हमारे पास आपके देव पर्यावरण पर बहुत अधिक जानकारी नहीं है, इसलिए सभी "परिदृश्य" के लिए तैयार हैं।

1

मूल कारण आईआईएस फ़ाइल पर लॉक है और वीएस संकलित होने पर फ़ाइल को हटाने में सक्षम नहीं है। मार्क रसेलिनोविच (माइक्रोसॉफ्ट फेलो और साइस इंटरनलल्स सह-संस्थापक) के पास इस ट्रैक को कैसे ट्रैक किया जाए: The case of the mysterious locked file - वह मूल रूप से जांच मॉनिटर (फ़ाइलमोन) और प्रक्रिया एक्सप्लोरर का उपयोग करने के लिए एक महान ब्लॉग है।

जब तक आप पहचान क्यों नहीं कर सकते आईआईएस DLL अनलॉक, यहाँ कुछ कामकाज से जुड़े हैं:

  1. ऊंचा विशेषाधिकारों के साथ प्रारंभ cmd और अगर किसी अन्य अनुप्रयोग बंदरगाह के लिए तर्क है की जाँच करने के लिए एक netstat -an -p tcp जारी आप एक बाध्यकारी संघर्ष मुद्दे का उपयोग और उपयोग कर रहे हैं। आप अधिक जानकारी के लिए प्रेजिपर लॉग देख सकते हैं।

  2. प्रोजेक्ट के गोटो गुण> टैब "डीबग"> अनचेक करें " विजुअल स्टूडियो होस्टिंग प्रक्रिया सक्षम करें"।

  3. उन्नत विशेषाधिकारों के साथ cmd प्रारंभ करें और net stop iisadmin /y को iisreset जारी करें।

  4. एक स्वच्छ समाधान और पूर्ण पुनर्मूल्यांकन करें, यह अंतःक्रियात्मक रूप से काम करता है क्योंकि "फ़ाइल में उपयोग होने पर सीखने के लिए कोई 100% सुरक्षित तरीका नहीं है" क्योंकि मिलीसेकंड चेक करने के बाद फ़ाइल अब और उपयोग में नहीं हो सकती है, या ठीक इसके विपरीत।

  5. अक्सर मुझे अंतिम उपाय पर वापस जाना पड़ता है और लॉक की गई फ़ाइल MyApp.dllMyApp1.dll का नाम बदलना पड़ता है।

एक आखिरी चीज़ जिसे मैं संबोधित करना चाहता हूं @ user1438893 "आईआईएस एक्सप्रेस बग्गी" के बारे में टिप्पणी है। हो सकता है कि यह एक बग है, शायद इसकी डिज़ाइन द्वारा, हालांकि एंड-यूजर कोड के कारण स्मृति मेमोरी लीक/अनसुलझा हुक/अनइज्स्ड-अप्रबंधित संसाधन अधिक संभावना है। प्रोसेस मॉनिटर और प्रोसेस एक्सप्लोरर का उपयोग करने से आपको पता लगाने में मदद मिलेगी।

6

यदि आपके पास निर्देशिका पर सक्रिय अनुक्रमण है तो फ़ाइल लॉकिंग के साथ समस्या हो सकती है। आईआईएस में आभासी निर्देशिका की सेटिंग्स में यह समस्या हो सकती है। यदि वर्चुअल निर्देशिका में अभी भी index this location ध्वज on है, तो यह पता चला कि आईआईएस इन फ़ाइलों पर एक अस्थायी लॉक रख रहा है, भले ही वेब एप्लिकेशन शुरू नहीं किया जा रहा था (यानी यह केवल एक संकलन था, डीबग रन नहीं था)। index this location सेटिंग off सेटिंग के बाद फ़ाइल लॉकिंग समस्या गायब हो जाएगी।

अधिक जानकारी के लिए this देखें।

+0

हाय @bko मैं आईआईएस एक्सप्रेस में इस सेटिंग को कहां बदलूं? मुझे लगता है कि अगर आप वीआईएस के साथ आईआईएस (एक्सप्रेस नहीं) का उपयोग करते हैं तो यह केवल तभी प्रभावित होता है? – gsharp

2

मुझे लगता है कि असली जवाब यह है कि विजुअल स्टूडियो उस तरफ थोड़ा सा छोटी है। यह कभी-कभी डेस्कटॉप एप्लिकेशन (Winforms या WPF) के साथ भी होता है, जहां प्रोजेक्ट लॉक आउटपुट (एक्सई या डीएल जो आप बना रहे हैं) के कारण बिल्ड विफल हो जाती है।

मुझे विजुअल स्टूडियो पेशेवर 2013 के साथ कभी-कभी ऐसी ही समस्याएं होती हैं और मुझे लगता है कि यह पुराने संस्करणों पर भी होता है। जब ऐसा होता है तो मैं विजुअल स्टूडियो को बंद करता हूं और इसे फिर से खोलता हूं और यह सभी समस्याओं को हल करता है।

कुछ संदर्भ:

Visual Studio 2010 build file lock issues

Visual Studio locks output file on build

Locking files when building in Visual Studio 2010

संबंधित मुद्दे