IIS7 तैनाती - डुप्लिकेट 'system.web.extensions / scripting / scriptResourceHandler' अनुभाग


209

IIS7 में डिफ़ॉल्ट ऐप पूल पर .net 3.5 वेबसाइट को तैनात करने का प्रयास करने पर फ्रेमवर्क सेक्शन 4.0 पर सेट होता है, मुझे निम्न त्रुटि मिलती है।

एक डुप्लिकेट 'system.web.extensions / scripting / scriptResourceHandler' खंड परिभाषित है।

आपत्तिजनक लाइनों पर टिप्पणी करने से भी मदद नहीं मिली। किसी भी संकेत पर मुझे क्या करने या देखने की आवश्यकता है?

जवाबों:


338

यदि आपकी योजना एक आईआईएस को तैनात करने के लिए है जिसमें एक अनुप्रयोग पूल है जो .net 4.0 में चल रहा है। आपको वेब की सफाई करने की आवश्यकता होगी। जिसमें सभी खंड परिभाषाएँ शामिल हैं जो .net 3.5 को इंगित करती हैं। यह विफल हो जाता है क्योंकि ये खंड परिभाषाएँ पहले से ही रूट web.config में .NET 4.0 में शामिल हैं (% windir% \ microsoft.net \ फ्रेमवर्क \ v4.0.30319 \ config \ machine.config) जिसमें सभी सिस्टम शामिल हैं। web.extensions पहले से ही घोषित।

एक अन्य ठीक समाधान है कि आपके विकास मशीन के प्रकट होते ही एप्लीकेशन पूल को 2.0 पर सेट किया जाए।


धन्यवाद। मैं वास्तव में कुछ और .. के आसपास
टिंकरिंग के

3
यह समझाने के लिए धन्यवाद। मैं कॉन्फिगर फाइल से एक सेक्शन हटाने का उपाय देखता रहा और मैं सोच रहा था, "आपके कॉन्फिग फाइल के हिस्सों को कैसे काट रहा है"?
आदम ब्रायन

13
मेरे एपीपी पूल 2.0 के 4.0 इंस्टालेशन पर गए थे!
रोलैंडसीसी

1
यह आसान था, इस पुराने साइट को 2.0 ऐप पूल में बदल दें और यह काम करता है! धन्यवाद!
मगनीयर

1
सिर्फ वेब में .net 3.5 सेक्शन को हटाकर .config ने मेरे लिए काम किया
आनंद

49

मेरे लिए समाधान डिफ़ॉल्ट अनुप्रयोग पूल के लिए v4.0 से v2.0 के लिए अनुप्रयोग पूल में .NET फ्रेमवर्क संस्करण को बदलना था:

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


13
अगर, आप वास्तव में आवेदन में .NET 4.0 का उपयोग कर रहे हैं?
माइकल पॉलुकोनिस

3
@MichaelPaulukonis मुझे यह समस्या थी, पता चला कि रूट वेबसाइट में एक web.config था जो मेरी वेबसाइट से विरासत में मिला था।
ग्वानोमे

@MichaelPaulukonis, इस तरह pfft होगा!
डेवडेव

मुझे यह समस्या तब हुई जब मेरे ऐप को 3.5 से 4.0 में अपग्रेड किया गया था, ऐप पूल को सही तरीके से अपडेट किया गया था, लेकिन web.config पुराना था। Web.config उन सभी खंड समूहों को जोड़ने की कोशिश कर रहा था जो 4.0 मूल निवासी हैं और उन्हें स्पष्ट रूप से जोड़ने की आवश्यकता नहीं है।
drizin

48

यदि, मेरी तरह, आपको v4 को लक्षित करने की आवश्यकता है, लेकिन केवल .net 3.5 के साथ निर्माण कर सकते हैं, तो यहां दिए गए निर्देशों का पालन करें । बस अपने web.config में संपूर्ण सामग्री बदलें <configSections>:

<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
  <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
    <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions,  Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
      <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
      <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
      <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
    </sectionGroup>
  </sectionGroup>
</sectionGroup>


3
तुम्हारा एकमात्र समाधान था जिसने मेरी त्रुटि को हल किया! आपका बहुत बहुत धन्यवाद!
देवदत्त तेंगशे

1
इससे मेरी समस्या भी हल हो गई। सर्वर को IIS6 को IIS7.5 में अपग्रेड किया गया था। IIS6 पर यह v4.0 के अंतर्गत आता है, लेकिन IIS7.5 को इस web.config परिवर्तन की आवश्यकता है।
जोहाना

यह बहुत बढ़िया था।
mzonerz

PublicKeyToken में मान केस-संवेदी है (और उत्तर में जैसा दिखना चाहिए)। मेरे पास अपरकेस में था और यह काम नहीं किया।
ब्योर्न

3

El problema es porque el पूल por defecto esta en .net 4.0 Solucion: entrar an Administrador IIS server lado derecho establecer valores de grupos de aplicaciones।! [यहां चित्र विवरण दर्ज करें] [1] y cambiar la vercion del ढांचा! यहाँ] [2]

कॉन एस्टो प्यूड्स सॉल्यूशनर एल प्रॉब्लम अल इंस्टालार ला एडमिनिस्ट्रियन सेंट्रल SharePoint 2010

----- Google अनुवाद के माध्यम से -----

समस्या इसलिए है क्योंकि पूल डिफ़ॉल्ट रूप से है। नेट 4.0 समाधान: एप्लिकेशन पूल के दाईं ओर मान सेट करने के लिए सर्वर IIS प्रबंधक दर्ज करें! [यहाँ चित्र विवरण दर्ज करें] [१] और रूपरेखा संस्करण बदलें! [यहाँ चित्र विवरण दर्ज करें] [२]

इसे SharePoint केंद्रीय व्यवस्थापन 2010 स्थापित करने की समस्या को हल करना चाहिए


22
StackOverflow में आपका स्वागत है! यदि आपके पास पर्याप्त अंग्रेजी दक्षता नहीं है, तो कृपया Google अनुवाद के माध्यम से अपने उत्तर चलाएं । समुदाय किसी भी अजीब वाक्यांश को संपादित करके सुधार करेगा। आपके उत्तर के लिए धन्यवाद। |||| Google अनुवाद के माध्यम से ||||| Bienvenido एक StackOverflow! Si usted no tiene dominio de Inglés suficiente, por favourite, ejecute a través de sus respuestas Google Translate । La comunidad mejorará फ़्रीजन्स एन ला एडिसन। ग्रेसियास पो सु रिस्पस्टा।
एंड्रयू Kozak


3

Necromancing।
यदि आपके पास अपने web.config में कोई system.web.extensions कॉन्फ़िगर-सेक्शन या हैंडलर / मॉड्यूल प्रविष्टियां नहीं हैं, तो यह समस्या इसलिए होती है क्योंकि आपने / किसी और ने VisualStudio-Project (2013/2015/2017) को छिपाते हुए कॉपी किया -फाइल्स अनहेल्दी

उसके कारण, यह न केवल .it को कॉपी करेगा, बल्कि .VSइसमें IIS-Express Applicationhost.config फ़ाइल भी होगी , जो उन वेब फ़ाइलों को इंगित करती है , जो पथ में मौजूद नहीं हैं (या इससे भी बदतर, पथ जो मौजूद नहीं हैं, लेकिन एक ही सामग्री नहीं है) ...

समाधान:
.VS फ़ोल्डर में Applicationhost.config फ़ाइल हटाएँ।
या बस .VS फ़ोल्डर को पूरी तरह से हटा दें।
विजुअल स्टूडियो इसे फिर से बनाएगा।


एक्सेलेंट स्पष्टीकरण
विलियम बेल्लो

2

मेरा ऐप ASP.Net3.5 ऐप (फ्रेमवर्क के संस्करण 2 का उपयोग करके) था। जब ASP.Net3.5 एप्स बने तो विजुअल स्टूडियो ने स्वचालित रूप से script.ourceHandler को web.config में जोड़ दिया। .Net के बाद के संस्करणों ने इसे machine.config में डाल दिया। यदि आप संस्करण 4 ऐप पूल का उपयोग करके अपने ASP.Net 3.5 ऐप को चलाते हैं (इंस्टॉल ऑर्डर के आधार पर यह डिफ़ॉल्ट ऐप पूल है), तो आपको यह त्रुटि मिलेगी।

जब मैं संस्करण 2.0 ऐप पूल का उपयोग करने के लिए स्थानांतरित हुआ। त्रुटि दूर हो गई। मुझे WCF .svc की सेवा करते समय त्रुटि से निपटना पड़ा:

HTTP एरर 404.17 - नहीं मिला अनुरोधित सामग्री स्क्रिप्ट प्रतीत होती है और इसे स्टैटिक फ़ाइल हैंडलर द्वारा प्रस्तुत नहीं किया जाएगा

कुछ जांच के बाद, ऐसा लगता है कि मुझे WCF हैंडलर को पंजीकृत करने की आवश्यकता थी। निम्नलिखित चरणों का उपयोग कर:

  1. ओपन विजुअल स्टूडियो कमांड प्रॉम्प्ट (प्रशासक के रूप में)
  2. "C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows संचार फाउंडेशन" पर नेविगेट करें
  3. सर्विसमीमॉडेलग्राम -आई चलाएं


1

मेरे मामले में यह तब हुआ जब मैंने पूरे समाधान (लक्ष्य फ्रेमवर्क माइग्रेटर नामक एक्सटेंशन का उपयोग करके) को 4.6.2 में बदल दिया, लेकिन परिवर्तनों को पूर्ववत करना समाप्त कर दिया और 3.5 पर वापस जा रहा था (समाधान टीएफएस द्वारा संस्करणित है)। इसे हल करने के लिए, मैंने सिर्फ समस्याग्रस्त परियोजना (जो कि IIS एक्सप्रेस को चलाने के लिए इस्तेमाल कर रहा था) को 4.6.2 में बदल दिया और फिर 3.5 पर वापस भेज दिया।


धन्यवाद। ऐसा लगता है कि परिवर्तन वापस करने और परिवर्तन पूर्ववत करने से एप्लिकेशन को सही ढंग से .NET 3.5 स्थिति में नहीं लाया जाएगा।
इमान

0

इस समस्या से बचने का एक और तरीका जो दूसरों की मदद कर सकता है। यदि संभव हो तो संस्करण 4.0 या उच्चतर पर अपनी .net वेब सेवा का निर्माण करें।


0

मेरे मामले में मेरे पास एक ही ऐप पूल साझा करने वाले 2 अलग-अलग ऐप थे। पहला वाला .net4.5 फ्रेमवर्क का उपयोग कर रहा था और नया 2.0 का उपयोग कर रहा था। जब मैंने दूसरा ऐप बदल दिया तो उसका खुद का ऐप पूल है, जिसमें web.config में कोई बदलाव नहीं हुआ है।


0

मेरा संकल्प एक तरह का बेवकूफ था।

  • मैंने .net 3.5 की एक प्रति स्थापित की

  • एक और ऐप पूल बनाया और .net 3.5 (ड्रॉप डाउन में यह 2.0.5077 कहता है)

  • मेरी वेबसाइट को उस ऐप पूल में जोड़ा

  • पुराने और नए पूल को पुनर्नवीनीकरण किया और साइट ने काम करना शुरू कर दिया।

यह मेरे लिए नीचे आया था, हालांकि 3.5 स्थापित नहीं किया गया था, हालांकि खिड़कियों की बारी मैंने कहा कि मैंने किया और उपयोग करने के लिए एक और ऐप पूल बनाया। मुझे उम्मीद है कि इससे दूसरों को मदद मिलेगी।


0

मेरे मामले में मैं मैन्युअल रूप से urlrewrite नियम जोड़ना चाहता था और स्पष्ट त्रुटि नहीं देख सकता था (मुझे <rules>टैग याद था ):

गलत कोड:

    <rewrite>
      <rule name="some rule" stopProcessing="true">
        <match url="some-pattenr/(.*)" />        
        <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
      </rule>
    </rewrite>    

  </system.webServer>
</configuration>

उचित कोड (नियम टैग के साथ):

    <rewrite>
      <rules>
        <rule name="some rule" stopProcessing="true">
          <match url="some-pattenr/(.*)" />        
          <action type="Redirect" url="/some-ne-pattenr/{R:1}" />
        </rule>
      </rules>
    </rewrite>

  </system.webServer>
</configuration>

0

मैंने इसे हल किया है, निम्न चरण कर रहा है:

  1. मैंने IIS में एक नया एप्लिकेशन समूह बनाया।
  2. उस साइट या वेब एप्लिकेशन के लिए उन्नत सेटिंग खोलें, जिसमें यह समस्या है।
  3. और नए एप्लिकेशन के समूह को सेट करें।

यहां आपके पास इन चरणों की छवियां हैं:

एक नया एप्लिकेशन समूह बनाएं

आपके द्वारा एप्लिकेशन का समूह बनाने के बाद

अपनी साइट या वेब ऐप में एप्लिकेशन समूह सेट करें


0

यह त्रुटि संदेश विभिन्न स्थितियों में आता है।

मेरे मामले में, मेरे एप्लिकेशन के Web.Config फ़ाइल के ऊपर मेरे पास रूट फ़ोल्डर (C: \ Inetpub \ www.root) में एक अतिरिक्त Web.Config फ़ाइल थी। शायद कुछ परीक्षण के बाद वहाँ छोड़ दिया गया था, मैं इसके बारे में सब भूल गया था, और यह पता नहीं लगा सका कि समस्या क्या थी।

इसे हटाने से मेरे लिए समस्या हल हो गई।


0

यह शायद आपके लिए गलत जवाब है। लेकिन यह Google पर पहली हिट थी जब मैंने अपनी समस्या को हल करने की कोशिश की। उस के साथ कहा...

मेरे लिए भी यही त्रुटि संदेश आया, लेकिन जब मैंने विजुअल स्टूडियो के माध्यम से IIS एक्सप्रेस चलाने की कोशिश की।

मेरी समस्या यह थी कि मैंने गलती से अपने आवेदन पत्र की सराहना की थी से TFS में की सराहना की। बाद में जब मैंने नवीनतम कमिटमेंट प्राप्त करने के बाद अपने लैपटॉप पर प्रोजेक्ट चलाने की कोशिश की। जब त्रुटि हुई।

मैंने पाया कि आभासी निर्देशिका पथ गलत था।

<virtualDirectory path="/" physicalPath="C:\Users\giddan\Documents\Visual Studio 2015\Projects\ProjectName\DeV.ProjectName\DeV.ProjectName.Web" />

आशा है कि यह किसी की मदद करो!

यह मेरी पहली पोस्ट है, इसलिए कोमल बनो :)

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