आवेदन स्तर से परे allowDefinition = 'MachineToApplication' के रूप में पंजीकृत अनुभाग का उपयोग करने में त्रुटि


193

आवेदन के स्तर से परे allowDefinition = 'MachineToApplication' के रूप में पंजीकृत अनुभाग का उपयोग करने के लिए यह एक त्रुटि है।

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

मेरा सेटअप यह है कि मेरे पास मेरे रूट डायरेक्टरी में एक web.config है, और फिर मैं एक कंपनी पोर्टल बनाने की कोशिश कर रहा हूं, जो / पोर्टल / डायरेक्टरी में है। / पोर्टल / निर्देशिका की अपनी (आवश्यक) web.config है।

मेरी web.config लाइन 50 इस तरह है:

    <customErrors mode="Off" defaultRedirect="customerrorpage.aspx"/>
    <anonymousIdentification enabled="true"/>
    <authentication mode="Forms"/>
    <membership defaultProvider="MyProvider">

तो मेरे पास domain.com/web.config और domain.com/portal/web.config है ... इसलिए मेरा domain.com/portal/default.aspx पेज लोड नहीं होगा।

इसका वास्तविक समाधान क्या है? क्या मुझे किसी तरह अपने रूट web.config को अपने / पोर्टल / निर्देशिका web.config के साथ मर्ज करने का कोई तरीका मिल गया है, या क्या मैं यहां आधार से दूर हूं?

किसी भी मार्गदर्शन की काफी सराहना की जाएगी!


1
यदि आप अपनी मुख्य वेबसाइट के तहत / पोर्टल / एक अलग आवेदन की उम्मीद कर रहे हैं (जो कि आप कर रहे हैं यदि आप एक web.config को वहां छोड़ रहे हैं) तो आपको इसे एक आभासी निर्देशिका के रूप में स्थापित करने की आवश्यकता है। IIS के किस संस्करण का आप उपयोग कर रहे हैं? आप आमतौर पर डायरेक्ट्री पर राइट क्लिक कर सकते हैं और प्रॉपर्टीज के तहत, "डायरेक्टरी" टैब को देख सकते हैं और एप्लिकेशन के नाम के आगे "क्रिएट" बटन को हिट कर सकते हैं, जो संभवत: वर्तमान में ग्रेयर्ड है। पैरेंट web.config फ़ाइल के दायरे को सीमित करने के लिए, inheritInChildApplications = "false" विशेषता देखें। मुझे अपना IIS संस्करण पता है।
डैश

हाय पानी का छींटा। मैं IIS7 का उपयोग कर रहा हूं, और / पोर्टल / बस हमारी कंपनी के लिए एक कर्मचारी निर्देशिका होना चाहिए जहां लोग दस्तावेजों को स्टोर कर सकते हैं, एक कैलेंडर रख सकते हैं, और इस तरह की चीजें। मुझे लगता है कि बेनी थोना ने आपको जो कुछ कहा था, उसे संक्षेप में कहा - अपने दूसरे विकल्प में, उन्होंने IIS समाधान को रेखांकित किया। मुझे यकीन है कि उन दो समाधानों में से एक के बीच, मैं यह पता लगा सकता हूं। इस डैश को पढ़ने में आपके समय के लिए धन्यवाद, और मेरी मदद करने के लिए। एक बार जब मैं देखता हूं कि "बनाएं" विकल्प, मुझे पता चल जाएगा कि मैं अपने रास्ते पर हूं! एक बार फिर धन्यवाद!
जेसन वेबर

1
मेरे पास यह समस्या थी, जब मैंने प्रकाशन से पहले प्रकाशित करने के लिए प्रकाशित प्रोफ़ाइल को परिभाषित किया। इसलिए obj फोल्डर एक web.config को हैट करता है जो प्रोजेक्ट को तोड़ रहा था, obj फोल्डर में सबकुछ डिलीट करने के बाद इसने फिर से काम किया।
रूमप्लिन

जवाबों:


219

बस पृष्ठभूमि की जानकारी के लिए; ASP.NET वेबसाइट के लिए कॉन्फ़िगरेशन जानकारी एक या अधिक Web.config फ़ाइलों में परिभाषित की गई है। कॉन्फ़िगरेशन सेटिंग्स को एक पदानुक्रमित तरीके से लागू किया जाता है। एक "वैश्विक" Web.config फ़ाइल है जो वेब सर्वर पर सभी वेबसाइटों के लिए आधारभूत कॉन्फ़िगरेशन जानकारी को मंत्र देती है; यह फ़ाइल %WINDIR%\Microsoft.Net\Framework\version\CONFIGफ़ोल्डर में रहती है । आप अपनी वेबसाइट के रूट फ़ोल्डर में एक Web.config फ़ाइल भी रख सकते हैं। यह Web.config फ़ाइल "ग्लोबल" Web.config फ़ाइल में परिभाषित सेटिंग्स को ओवरराइड कर सकती है, या नए जोड़ सकती है। इसके अतिरिक्त, आपके पास आपकी वेबसाइट के सबफ़ोल्डर्स में Web.config फाइलें हो सकती हैं, जो पदानुक्रम में उच्चतर Web.config फ़ाइलों में परिभाषित नई कॉन्फ़िगरेशन सेटिंग्स या ओवरराइड कॉन्फ़िगरेशन सेटिंग्स को परिभाषित करती हैं।

Web.config में कुछ कॉन्फ़िगरेशन तत्वों को एप्लिकेशन स्तर से परे परिभाषित नहीं किया जा सकता है, जिसका अर्थ है कि उन्हें "वैश्विक" Web.config फ़ाइल में या वेबसाइट के रूट फ़ोल्डर में Web.config फ़ाइल में परिभाषित किया जाना चाहिए। <authentication>तत्व ऐसे ही एक उदाहरण है। उपरोक्त त्रुटि संदेश इंगित करता है कि वेबसाइट के सबफ़ोल्डर्स में से एक में एक Web.config फ़ाइल है जिसमें इन कॉन्फ़िगरेशन तत्वों में से एक है जो कि आवेदन स्तर से परे परिभाषित नहीं किया जा सकता है।

स्रोत: http://scottonwriting.net/sowblog/archive/2010/02/17/163375.aspx

आपने 2 संभावित दृष्टिकोणों की सही पहचान की है।

1 - आपके दूसरे web.config की सामग्री पर निर्भर करता है और अगर आपका सेटअप अनुमति देगा (यानी एक ही प्रमाणीकरण विधि) - <authentication>सेटिंग्स और किसी भी अन्य तत्वों को जोड़ें जो वैश्विक स्तर पर शीर्ष वेब में परिभाषित होने चाहिए।

2 - यदि आप विलय नहीं कर सकते हैं तो web.config सामग्री तो आप नीचे दिए गए इस लिंक में संग्रहीत चरणों का पालन करके IIS में उप-फ़ोल्डर को वेब अनुप्रयोग में बदल सकते हैं। मूल लिंक अब काम नहीं कर रहा है। (देखें संग्रहीत ) आशा है कि यह मदद करता है।


8
हाँ, बेनी, बिल्कुल मदद की और चीजों को साफ कर दिया - बहुत सारी चीजें। मैं वास्तव में इस प्रश्न का उत्तर देने में आपके समय की सराहना करता हूं; मैंने आपके उत्तर को पढ़कर एक टन सीख लिया, और चीजें अब थोड़ी अधिक समझ में आती हैं। मुझे लगता है कि मैं दो web.config फ़ाइलों को मर्ज करने का प्रयास करने जा रहा हूं - कम से कम प्रमाणीकरण भाग - और अगर यह काम नहीं करता है, तो मैं विभिन्न IIS7 विकल्पों पर गौर करूंगा। आपके समय और जानकारी के लिए फिर से धन्यवाद, बेनी!
जेसन वेबर

13
जब मैं एक वेब परिनियोजन पैकेज बनाता हूं, तो यह समस्या अगली बार जब मैं बनाता हूं। यह MyWebSiteProject / obj / Debug / में Web.config की एक प्रति है ...
कर्टिस यलोप

4
लगभग एक दिन यह जानने की कोशिश करने के बाद, आखिरकार एक वर्णनात्मक गहराई से जवाब जो वास्तव में इस मुद्दे की व्याख्या करता है, जैसा कि कहने का विरोध है ... बस अपने समाधान को साफ करें और पुनर्निर्माण करें। इसके लिए धन्यवाद!
डॉ। पॉल जार्विस

2
मुझे सबसे बड़ा मुद्दा यह लगा कि शुरुआती बिल्ड काम कर रहा था, लेकिन फिर बाद का निर्माण विफल हो गया क्योंकि शीर्ष-स्तरीय web.config में अनुमति दी गई सेटिंग्स web.config में कानूनी नहीं थीं जो अब obj फ़ोल्डर में कॉपी की गई थीं। चाल शीर्ष स्तर पर आपत्तिजनक विशेषताओं को हटाने और एक उप-फ़ोल्डर में कानूनी web.config प्राप्त करने के लिए obj फ़ोल्डर को हटाने के लिए थी। जाहिर है कि यह विजुअल स्टूडियो में एक बग है, लेकिन उप-स्तरीय web.config में गैर-स्तरीय web.config में गैरकानूनी होने पर आपको विशेषताओं का उपयोग करने की आवश्यकता नहीं है, तो वर्क-अराउंड सीधा-आगे है।
श्वेत

2
Visual Studio 2012 और 2013 में, जब कॉन्फ़िग फ़ाइल में Copy to Output Directory = Always Copy होती है, तो प्रकाशन प्रक्रिया कॉन्फ़िग फ़ाइल की प्रतियों को बिन और obj फ़ोल्डरों में छोड़ देती है, जो तब इस अपवाद को ट्रिगर करता है। टिम सी द्वारा पहचाने जाने वाले इस प्रकाशित समस्या का समाधान, Do Not Copy करने के लिए कॉन्फिगर फाइल प्रॉपर्टी को सेट करना है।
criticalfix

68

यह जो मूल्य है, उसके लिए मुझे त्रुटि मिली थी, "यह एक त्रुटि है जो कि आवेदन के स्तर से परे allowDefinition = 'MachineToApplication' के रूप में पंजीकृत अनुभाग का उपयोग करने के लिए एक त्रुटि है।" और \ myWebApp \ obj \ Debug और \ myWebApp \ obj / रिलीज़ निर्देशिका साफ़ करके इसे समाप्त कर दिया। मुझे एक डिफ़ॉल्ट स्टार्टअप पृष्ठ सेट करने की भी आवश्यकता थी। लेकिन, उसके बाद ऐप ठीक हो गया। HTH।


24
+1 OBJ फ़ोल्डर को हटाना एक सामान्य फिक्स लगता है ... stackoverflow.com/a/5175074/188926
Dunc

1
OBJ फ़ोल्डर की सामग्री को हटाना मेरे लिए भी यही तय करता है। इस त्रुटि के लिए कई अन्य संभावित कारण प्रतीत होते हैं। जिस वाक्यांश ने मुझे सही उत्तर ढूंढने में मदद की, वह "प्रकाशित करते समय" था।
जिम नेफ

1
अगर मेरे पास OBJ फोल्डर होता, तो मैं यही कोशिश करता।
बी क्ले शैनन

डिबग फ़ोल्डर को हटाने के बाद डिफ़ॉल्ट स्टार्टअप पेज को सेट करना मेरे लिए ट्रिक था (इसलिए दोनों को करना सुनिश्चित करें)।
LoJo

कोशिश की और यह काम नहीं किया। तब मुझे एहसास हुआ कि मैं अपनी प्रकाशित फाइलों को IIS के भीतर एक एप्लिकेशन में बदलना भूल गया हूं।
ईगलिई 22

60

जैसा कि ऊपर RY4N कहता है, यह जरूरी नहीं है कि आपके प्रोजेक्ट फ़ोल्डर में web.config समस्या का कारण हो। कुछ मामलों में मैंने पाया है कि डिबग प्रोफ़ाइल के तहत एक निर्माण चलाने से सवाल में परियोजना के तहत डिबग फ़ोल्डर में डिटरिटस को पीछे छोड़ दिया जाएगा। यहाँ अक्सर एक web.config फ़ाइल होती है जो ऊपर की त्रुटि की ओर ले जाती है जब आप बाद में रिलीज़ प्रोफ़ाइल के तहत एक बिल्ड चलाते हैं।

मेरे लिए यहां काम करने वाला समाधान संपूर्ण डिबग फ़ोल्डर को हटाने के लिए है जो कि प्रोजेक्ट डायरेक्टरी के तहत बनाए गए पूर्व बिल्ड (एस) हैं।


1
धन्यवाद मैथ्यू; अंत में मुझे कुछ समय पहले समझ में आया, लेकिन हां, मुझे डिबग में नहीं बल्कि रिलीज में संकलित होना था। प्रतिक्रिया देने के लिए समय निकालकर आप की सराहना करते हैं!
जेसन वेबर

3
पारितोषिक के लिए धन्यवाद! मैंने अपने वेबसाइट प्रोजेक्ट में सिर्फ बिन और ओबीजी फोल्डर को डिलीट किया और जब मैंने दोबारा बनाया तो इसने इस मुद्दे को हल कर दिया।
पॉल स्टेगलर

22

यह मेरे होम कंप्यूटर पर भी हो रहा था, लेकिन केवल जब मैंने रिलीज़ कॉन्फ़िगरेशन पर बिल्ड व्यू को सक्षम किया और रिलीज़ कॉन्फ़िगरेशन बनाया। अन्यथा ऐसा नहीं हुआ।

यद्यपि बिल्ड व्यू विकल्प बहुत अच्छा है, मैंने इसे अक्षम कर दिया क्योंकि यह "त्रुटि" हमेशा पॉप अप होती है और मुझे ऐप चलाने में असमर्थ बनाती है।


2
धन्यवाद भगवान ... कि कुछ अन्य सुझावों के साथ, चाल करने के लिए लग रहा था। मैं जवाब देने के लिए समय निकालकर आपकी सराहना करता हूं!
जेसन वेबर

1
मेरे साथ भी यही हो रहा था। यकीन नहीं है कि क्यों। यह निश्चित है कि हेक "MvcBuildViews" को पूरी तरह से बहुत कम उपयोगी बनाता है।
केन स्मिथ

क्या MvcBuildViews को केवल उपयोगकर्ता सेटिंग्स के लिए सेट करने का एक तरीका है? Webproject.csproj.user फ़ाइल में LIke?
सी। टिवेल्ट

वीएस 2013 के लिए अपडेट 2 स्थापित करने के बाद मुझे यह त्रुटि मिलनी शुरू हुई। मेरे पास एक परियोजना है जिसमें एक शीर्ष स्तर और एक नेस्टेड चाइल्ड वेब साइट है, दोनों को आईआईएस अनुप्रयोगों के रूप में कॉन्फ़िगर किया गया है। MvcBuildViews को बंद करने से मेरे लिए भी समस्या हल हो गई।
ग्रेग एन्स्लो ने

13

बस कहने के लिए

यदि आप अपग्रेड करते हैं (जैसे 2008 -> 2010) एक प्रोजेक्ट विज़ुअल स्टूडियो प्रोजेक्ट समाधान में एक बैकअप बनाएगा (यदि आप इसकी अनुमति देते हैं) जो नए समाधान में जोड़ा जाता है, तो पुराना वेबकोफिग वह जगह है जहां ऊपर इंगित की गई त्रुटि तब से निकल सकती है ।

" वेबसाइट के सबफ़ोल्डर्स में से एक में Web.config फ़ाइल के पास इन कॉन्फ़िगरेशन तत्वों में से एक है जो कि आवेदन स्तर को परिभाषित नहीं किया जा सकता है। " @benni_mac_b

इसे ठीक करने के लिए: प्रोजेक्ट और समाधान से बैकअप फ़ोल्डर को इस परिदृश्य में हटा दें।


उस जानकारी के लिए धन्यवाद, रयान .... मेरे पास केवल वीएस 2010 है। मुझे यकीन नहीं है कि आपका क्या मतलब है जब आप कहते हैं कि प्रोजेक्ट और समाधान से बैकअप फ़ोल्डर को हटा दें। लेकिन मैं आपके उत्तर में आगे देखूंगा। फिर, मुझे मदद करने के लिए समय निकालने के लिए धन्यवाद! मैंने अभी यहां एक अनुवर्ती प्रश्न पोस्ट किया है: stackoverflow.com/questions/10414751/…
जेसन वेबर

12

मैं एक और संभावित कारण के साथ आया हूं जो यह होता है।

मेरे पास 2.0 में निर्मित एक पुराना वेब एप्लिकेशन था। मैंने इसे 4.5 समाधान में स्थानांतरित कर दिया।

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

मैंने आखिरकार समस्या का पता लगाया कि web.config फ़ाइल के लिए बिल्ड एक्शन "सामग्री" के बजाय "एंबेडेड संसाधन" था। इसके अलावा, कॉपी टू आउटपुट डायरेक्टरी को "हमेशा कॉपी न करें" के बजाय "हमेशा कॉपी" पर सेट किया गया था। मुझे नहीं पता कि ये सेटिंग्स कब की गई थीं, लेकिन मेरा मानना ​​है कि यह एप्लिकेशन के 2.0 संस्करण में वापस आ गया था।

Web.config फ़ाइल के लिए सेटिंग्स को संशोधित करने के लिए दृश्य स्टूडियो 2012 प्रकाशन में प्रकाशित कार्रवाई को त्रुटिपूर्ण रूप से काम करने की अनुमति दी।


वहाँ से बाहर हर दूसरे समाधान की कोशिश की थी। इसने मदद की। मेरी परियोजना को दृश्य स्टूडियो 2010 से 2015 तक समय के साथ माइग्रेट किया गया था, इसलिए शायद "ऑलवेज कॉपी" 2010 में डिफ़ॉल्ट मान था
एंड्रियास रथमाएर

मेरे web.config के लिए गुण दो तक सीमित हैं: फ़ाइलनाम, और FullPath; अन्यथा, मैं जाँचता हूँ कि इसके लिए बिल्ड एक्शन क्या था।
बी क्ले शैनन

11

मुझे MVC प्रोजेक्ट में भी यही समस्या थी। त्रुटि तब हुई जब मैंने प्रकाशन की कोशिश की। निकला हुआ obj फ़ोल्डर खाली होना चाहिए (या कम से कम कोई भी शामिल नहीं होना चाहिए web.config)।

दौड़ना Cleanमेरे लिए मुश्किल काम नहीं था।

मैंने objकिसी भी बिल्ड से पहले फ़ोल्डर को साफ करके समस्या को हल किया (प्रोजेक्ट का निर्माण मेरे मामले में वैसे भी लंबा नहीं होगा)।

मैंने प्रोजेक्ट को अनलोड किया, और फ़र्स्टबिल्ड टारगेट में निम्नलिखित को जोड़ा

<Target Name="BeforeBuild">
    <Delete Files="$(SolutionDir)\$(ProjectDir)\bin\**\*.*" />
    <Delete Files="$(SolutionDir)\$(ProjectDir)\obj\**\*.*" />
    <RemoveDir Directories="$(SolutionDir)\$(ProjectDir)\bin" />
    <RemoveDir Directories="$(SolutionDir)\$(ProjectDir)\obj" />
    <Message Text="Clean obj/bin from web project" />
</Target>

उम्मीद है की यह मदद करेगा


7

"यह अनुप्रयोग स्तर से परे allowDefinition = 'MachineToApplication' के रूप में पंजीकृत अनुभाग का उपयोग करने के लिए एक त्रुटि है। यह त्रुटि IIS में एक एप्लिकेशन के रूप में कॉन्फ़िगर नहीं की जा रही वर्चुअल निर्देशिका के कारण हो सकती है।"

मुझे वीएस.नेट में यह समस्या थी। यह पता चला कि जब मैं कुछ कॉन्फिगर ट्रांसफ़ॉर्म कर रहा था तब मैंने गलती से Web.config फ़ाइल की प्रॉपर्टी "कॉपी ऑलवेज" सेट कर दी थी। मैं आमतौर पर अपनी ट्रांसफ़ॉर्म फाइल्स को "कॉपी हमेशा" कॉपी करता हूं, लेकिन web.config रूट फाइल को "कॉपी न करें" के रूप में छोड़ देता हूं।

वेब को देखें, क्योंकि web.config के गुणों को बदलने से सभी नेस्टेड ट्रांसफ़ॉर्म भी बदल जाते हैं।

तो, ठीक करने के लिए:

1) "कॉपी न करें" web.config बदलें

2) वैकल्पिक रूप से, यदि आप कॉन्फ़िग ट्रांसफ़ॉर्म का उपयोग कर रहे हैं, तो उन्हें "हमेशा कॉपी करें" पर सेट करें

3) समाधान से ओब्ज और बिन फ़ोल्डर हटाएं (ये दिखाई नहीं दे सकते हैं इसलिए समाधान एक्सप्लोरर में प्रोजेक्ट नोड का चयन करें और "सभी फाइलें दिखाएं" टूलबार बटन पर क्लिक करें।

4) प्रकाशित करें

मेरे लिए काम किया।


5

मैंने इस त्रुटि का अनुभव केवल आवेदन के प्रकाशन के दौरान किया।

Web.config (और ट्रांसफ़ॉर्मेशन) फ़ाइलों के गुण निम्नानुसार सेट किए गए थे:

  • Build Action - None
  • Copy to Output - Always

इसका समाधान सेटिंग को बदलना था:

  • Build Action - Content
  • Copy to Output - Do not Copy

4

मेरे पास भी यह मुद्दा था और यह तब आया जब मैंने अपनी साइट को वेब पर प्रकाशित करने के लिए प्रकाशन विज़ार्ड का उपयोग किया।

आसपास बहुत खुदाई करने के बाद मैं इस बग रिपोर्ट से कनेक्ट वेबसाइट पर आया, https://connect.microsoft.com/VisualStudio/feedback/details/779737/error-allowdefinition-machinetoapplication-beyond-application-level

एक एमएस प्रतिनिधि ने जवाब दिया और साथ ही यह भी बताया कि यह एक समस्या क्यों थी जिसे प्रकाशित करते समय उन्होंने एक अस्थायी वर्कअराउंड भी शामिल किया था जो मेरे लिए समस्या तय करता था।


4

वर्चुअल निर्देशिका को फिर से हटाएं और बनाएं । राइट क्लिक करें और वर्चुअल निर्देशिका को " एप्लिकेशन " में बदलें


3

Web.configसमाधान एक्सप्लोरर से फ़ाइल पर क्लिक करें और "गुण" पर राइट क्लिक करें और "आउटपुट निर्देशिका में कॉपी करें: कॉपी न करें" में बदल दें।

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


1

मेरे लिए कारण यह था कि obj फ़ोल्डर वेब साइट फ़ोल्डर के अंतर्गत था और कई web.config अलग-अलग कॉन्फ़िगरेशन बनाने के बाद दिखाई दिए। मैं वेब साइट से बाहर obj फ़ोल्डर movong द्वारा vs2012 के तहत समस्या का हल। ऐसा करने के लिए मैंने वेब साइट प्रोजेक्ट फ़ाइल के प्रत्येक कॉन्फ़िगरेशन में मैन्युअल (नोटपैड में) $ (सॉल्यूशनड) \ Obj \ $ (कॉन्फ़िगरेशन) जोड़ा है।


1

जब मैं साइट प्रकाशित करूंगा तो मुझे यही समस्या आ रही थी, अगर मैं उस साइट का निर्माण करता हूं जिसमें मुझे कोई समस्या नहीं है, लेकिन प्रकाशित करते समय मुझे यह स्पष्ट रूप से प्राप्त होगा:

"यह एक त्रुटि है जिसे आवेदन स्तर से परे allowDefinition = 'MachineToApplication' के रूप में पंजीकृत अनुभाग का उपयोग करना है। यह त्रुटि IIS में एप्लिकेशन के रूप में कॉन्फ़िगर नहीं की जा रही वर्चुअल निर्देशिका के कारण हो सकती है"

मैंने इस पोस्ट में बिना किसी रिसॉर्ट के यहां बताई गई सभी चीजों की कोशिश की, जो मेरे लिए काम करती थी, वह थी कि मैं जो नया प्रयोग कर रहा था, उसी के साथ एक नया प्रकाशन प्रोफ़ाइल बनाऊं और जो अच्छी तरह से काम करे, वह त्रुटि न हो नई प्रोफ़ाइल के साथ लेकिन पुराने के साथ करते हैं। निश्चित नहीं है कि क्या अंतर है, लेकिन कम से कम मैं अपने एमवीसी प्रोजेक्ट को प्रकाशित कर सकता हूं।

उम्मीद है कि यह किसी की मदद करता है !!


1

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


1

मेरे पास यह मुद्दा था, और पुरानी विधानसभाओं के अपने समाधान को साफ करके आदि।

बनाम से: बिल्ड> क्लीन सॉल्यूशन

फिर पुनर्निर्माण करें।


1

विंडोज स्टार्ट -> ओपन साइट्स -> आईआईएस -> राइट अपनी साइट -> वेब साइट प्रबंधित करें -> एडवांस सेटिंग -> ब्राउज फिजिकल पाथ -> जिस समय आप वर्तमान में चयन कर रहे हैं, तब उप-फ़ोल्डर का चयन करने का प्रयास करें।

तर्क यह है कि सबफ़ोल्डर के अंदर वेब कॉन्फ़िग फ़ाइल परिवर्तन करने की कोशिश कर रही है और इसकी अनुमति नहीं है, चयनित फ़ोल्डर होना चाहिए: http://scottonwriting.net/sowblog/archive/2010/02/17/163375.aspx


1

वेबसाइट में उप वेबसाइट को तैनात करने का प्रयास करने पर मुझे यह त्रुटि भी मिलती है।

समाधान है:

  1. आप जैसे कुछ config टैब को निकालना होगा: प्रोफाइल , सदस्यता , roleManager , sessionState में उप web.config
  2. प्रमाणीकरण को किसी के रूप में न बदलें: <authentication mode="None" />
  3. और IIS पर जाएं सब उप फ़ोल्डर पर राइट क्लिक करें - > एप्लिकेशन जोड़ें।
  4. इस समस्या को हल करने के लिए IIS रीसेट करें।

यदि अन्य समस्या हो तो मुझे पिंग करने में संकोच न करें, हो सकता है कि मैं मदद करूँ।


1

मुझे Visual Studio 2017 में लोकलहोस्ट पर यह त्रुटि मिली, और Visual Studio के एक सरल पुनरारंभ ने समस्या को साफ़ कर दिया।

मुझे लगता है कि यह समस्या एक से अधिक web.config होने के कारण भी हो सकती है; उदाहरण के लिए एक उप-फ़ोल्डर के भीतर। यदि आपके पास एक और एप्लिकेशन के लिए जानबूझकर कई web.config फाइलें हैं: सुनिश्चित करें कि निर्देशिका को वर्चुअल निर्देशिका के रूप में नहीं देखा जा रहा है।


0

सुनिश्चित करें कि आप लोकल / mysite.test के माध्यम से अपने स्थानीय साइट को गलत तरीके से एक्सेस करने के जाल में नहीं पड़े हैं, जो mysite.test होना चाहिए जो आपको यह त्रुटि देगा।

जब आप अपनी साइट को लोकलहोस्ट / dir_name की तरह एक्सेस करते हैं, तो इस स्थिति में, आपका web.conf रूट लेवल से नीचे आता है और इसलिए यह त्रुटि होती है।


0

मैं ऐप्स को माइग्रेट कर रहा था और ऐप के भीतर कई ऐप (कई web.configs) थे। मैंने जो किया था वह IIS में चला गया था, फिर उप फ़ोल्डर्स पर राइट क्लिक करें फिर "Convert to Application" और यह काम कर गया।


0

मुझे यह त्रुटि सभी की तुलना में अलग तरह से मिली:

मैं वेब परिनियोजन प्रोजेक्ट के साथ vs2010 से vs2012 और एक नए वेब पब्लिश प्रोफाइल में प्रवास कर रहा था।

मैंने फ़ाइल सिस्टम को प्रकाशित करने के लिए vs2012 में एक नई वेब प्रकाशन परियोजना बनाई (हमारे पास एक अलग इंस्टॉलर बिल्डर है यह एक वाणिज्यिक ऐप है) और मैं एक फ़ोल्डर में प्रकाशित कर रहा था जो मौजूदा वेब परियोजना के अंदर था जो आईआईएस से जुड़ा हुआ है।

इससे प्रकाशन के दौरान त्रुटि हुई, जिसने मुझे पहली बार में रहस्यमय बना दिया क्योंकि मैं फ़ाइल सिस्टम के लिए प्रकाशित कर रहा था, न कि IIS (मैंने सोचा था)।

समाधान को वेब प्रोजेक्ट के बाहर प्रकाशित फ़ोल्डर में बदलना था।


0

यह ठीक था, localhostलेकिन जब मैंने सर्वर पर एक रिलीज़ प्रकाशित किया, तो मैंने कुछ पृष्ठों के लिए एक ही त्रुटि शुरू की। फिर मैंने समाधान को साफ किया और पुनर्निर्माण किया और प्रकाशित किया, चीजें ठीक हो गईं।


0

कभी-कभी, सरल उत्तर सबसे अच्छा होता है। मेरे पास अपने प्रोजेक्ट में दो web.config फाइलें थीं। मुख्य स्तर पर एक वह जगह है जहां मुझे अपने सत्र के समय से निपटने के लिए परिवर्तन करने की आवश्यकता थी (जो इस मुद्दे को ट्रिगर करता है)। मेरे रेजर व्यूज़ डायरेक्टरी में एक अलग कॉन्फिग फाइल थी, जिसमें रेज़र और इसके व्यूज़ की सेटिंग थी। मैं वहाँ एक अनुभाग जोड़ रहा था (आवेदन स्तर पर नहीं!)। यह महसूस किए बिना कि मेरे पास दो अलग-अलग web.config फाइलें हैं, मैंने स्पष्ट की तलाश के अलावा सब कुछ करने की कोशिश की।


0

मेरी गलती गलती से वेब सर्वर पर किसी अन्य फ़ोल्डर के अंदर एक web.config चिपकाने की थी


0

मुझे यह त्रुटि तब मिली जब मैं प्रकाशित परियोजना को IIS के भीतर एक एप्लिकेशन में बदलना भूल गया।

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