कैसे ठीक करें: हैंडलर "PageHandlerFactory- एकीकृत" में एक खराब मॉड्यूल है "ManagedPipelineHandler" इसकी मॉड्यूल सूची में


543

मैं IIS की स्थानीय स्थापना पर काम करने के लिए MVC 3 परियोजना को कॉन्फ़िगर कर रहा हूं और निम्नलिखित 500 त्रुटि पर आया हूं:

हैंडलर "PageHandlerFactory- एकीकृत" के पास अपनी मॉड्यूल सूची में एक खराब मॉड्यूल "ManagedPipelineHandler" है।

यह पता चला है कि ऐसा इसलिए है क्योंकि ASP.Net पूरी तरह से IIS के साथ स्थापित नहीं था, भले ही मैंने "सुविधा जोड़ें" संवाद में उस बॉक्स को चेक किया हो। इसे ठीक करने के लिए, मैं बस कमांड प्रॉम्प्ट पर निम्न कमांड चलाता था

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

अगर मैं 32 बिट सिस्टम पर होता, तो यह निम्नलिखित की तरह दिखाई देता:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

मेरा सवाल यह है कि क्या इस अतिरिक्त कदम उठाए बिना .NET 4.0 (MVC 3) का उपयोग करने के लिए विंडोज 7 बॉक्स पर IIS स्थापित करने का एक तरीका है?


2
प्रश्न ने वास्तव में मेरी समस्या हल कर दी। अगर मैं कर सकता था तो मैंने जवाब के रूप में सवाल का जवाब दिया होगा। :)
सेरेवगेथ्रिन

हाँ, प्रश्न के विवरण से मेरी समस्या हल हो गई। धन्यवाद :-)
sramsay

जवाबों:


950

यह पता चला है कि ऐसा इसलिए है क्योंकि ASP.Net पूरी तरह से IIS के साथ स्थापित नहीं था, भले ही मैंने "सुविधा जोड़ें" संवाद में उस बॉक्स को चेक किया हो। इसे ठीक करने के लिए, मैं बस कमांड प्रॉम्प्ट पर निम्न कमांड चलाता था

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

अगर मैं 32 बिट सिस्टम पर होता, तो यह निम्नलिखित की तरह दिखाई देता:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

प्रशासक ( CTRL+ SHIFT+ ENTER) के रूप में कमांड प्रॉम्प्ट चलाने के लिए रिमेम्बर


आपके पास "Aspnet_regiis.exe एक आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता प्राप्त नहीं है।" त्रुटि। इस स्थिति में आप .NET 4.0 फ़ोल्डर से निष्पादन योग्य नहीं हैं, लेकिन 2.0 एक से (नीचे मेरा उत्तर देखें)
निकिता जी।

कुछ साइटों में, मैंने पढ़ा कि हमें aspnet_regiis.exe चलाने की आवश्यकता थी, लेकिन किसी ने भी नहीं समझाया कि पैरामीटर की आवश्यकता है, अन्यथा कुछ भी नहीं होता है।
पिमेन्टा

बहुत सरल जवाब। मुझे पता था कि यह एक बुरा इंस्टॉलेशन है, इसे ठीक करने का तरीका नहीं जानता।
elcool

ध्यान दें कि यदि आप Windows Server 2012 का उपयोग कर रहे हैं, तो आपको इसके लिए मैनेज> ऐड रोल और फीचर्स> फीचर्स की आवश्यकता होगी। मेरे मामले में IIS8 को ASP.NET 4.5 स्थापित / सक्रिय होना आवश्यक है।
स्टार्क

5
व्यवस्थापक के रूप में चलाने के लिए याद रखें
रीड

17

स्वीकृत उत्तर सही है, हालांकि कभी-कभी आपको " Aspnet_regiis.exe एक आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता प्राप्त नहीं है। " त्रुटि संदेश।

इसे हल करने के लिए निम्नलिखित प्रयास करें:

  1. सुनिश्चित करें कि आपका .NET 4.0 इंस्टॉलेशन दूषित नहीं है (इंस्टॉलर चलाएं और इसे 'सुधारें')। यह भी एक मौका है कि यह आपकी मशीन पर बिल्कुल भी स्थापित नहीं है।

  2. यदि आप सुनिश्चित हैं कि आपके पास .NET 4.0 स्थापित नहीं है और इसे .NET 2.0 के रूप में चलाना चाहते हैं, तो यह प्रयास करें :

यदि आप देखते हैं कि संदेश "Aspnet_regiis.exe एक आंतरिक या बाहरी कमांड, ऑपरेशनल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता प्राप्त नहीं है।", C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_isiis.exe -i पर स्विच करें कमांड प्रॉम्प्ट पर।


Aspnet_regiis.exe -i ने विन सर्वर 2008 IIS7 पर मेरी समस्या तय की।
वीएसबी

9

समस्या को हल करने के लिए प्रयास करें repair the .net framework 4और फिर कमांड चलाएँ

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

9

त्रुटि: हैंडलर "PageHandlerFactory- एकीकृत" में एक खराब मॉड्यूल है "ManagedPipelineHandler" इसकी मॉड्यूल सूची में

मुझे इस मुद्दे को ठीक करने के लिए लेख मिला, कमांड प्रॉम्प्ट पर निम्नलिखित कमांड्स को बस चलाएं:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

यदि सिस्टम 32 बिट है, तो यह इस तरह दिखाई देगा:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

लेकिन, जब मैंने कमांड प्रॉम्प्ट का उपयोग करके इन कमांड को निष्पादित करने का प्रयास किया, तो मुझे निम्नलिखित त्रुटि / चेतावनी संदेश मिला:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS संस्करण 4.0.30319.33440 प्रशासन उपयोगिता स्थापित करने और स्थानीय मशीन पर ASP.NET स्थापना रद्द करने के लिए। कॉपीराइट (C) Microsoft Corporation। सभी अधिकार सुरक्षित। ASP.NET (4.0.30319.33440) स्थापित करना शुरू करें। यह विकल्प ऑपरेटिंग सिस्टम के इस संस्करण पर समर्थित नहीं है। व्यवस्थापकों को इसके बजाय "चालू विन डाउट्स ऑन / ऑफ" डायलॉग, सर्वर मैनेजर मैनेजमेंट टूल, या डीएसई। कमांड लाइन टूल का उपयोग करके IIS8 के साथ ASP.NET 4.5 को इंस्टाल / अनइंस्टॉल करना चाहिए। अधिक जानकारी के लिए कृपया http://go.microsoft.com/fwlin k /? LinkID = 216771 देखें। ASP.NET (4.0.30319.33440) स्थापित करना समाप्त हो गया है। **

विंडोज 8.1 पर इसे ठीक करने के लिए, मैं निम्नलिखित बात करने का सुझाव दूंगा।

समाधान:

गोटो: विंडोज सुविधाओं को चालू या बंद करें -> इंटरनेट सूचना सेवाएँ -> वर्ल्ड वाइड वेब सेवाएँ -> अनुप्रयोग विकास सुविधाएँ -> ASP.NET 4.5 सक्षम करें

इस मुद्दे को हल करना चाहिए।


मुझे भी यही समस्या थी। धन्यवाद! मेरे लिए मुझे "ASP.NET 4.6" को सक्षम करना था।
जेनी ओ'रेली

4

मैं पहले भी स्पष्ट जांच करूंगा: कि एप्लिकेशन पूल सही फ्रेमवर्क पर सेट है और यह कि आपका IIS एप्लिकेशन वास्तव में उस फ़ोल्डर को इंगित करता है जहां मैंने आपकी फाइलें रखी हैं


इतना स्पष्ट ... अभी तक अनदेखी करना आसान है। धन्यवाद!
पॉल लेम्के

मेरे लिए यही समस्या थी। जाहिरा तौर पर किसी तरह मैं इसे परेशान करता हूं या यह "नो मैनेजेड कोड" पर सेट हो गया। इसे वापस v4.0 पर स्विच करने से मेरी साइट लोड हो गई।
redOctober13

3

यदि आप MVC को स्थापित किए बिना MVC एप्लिकेशन को तैनात करना चाहते हैं, तो आप अपने आवेदन के साथ MVC DLL को तैनात कर सकते हैं । यह MVC 3 को स्थापित करने के आसपास हो जाता है। आप कुछ .net 4.0 नेमस्पेस में सुविधाओं का उपयोग कर सकते हैं। एक समान दृष्टिकोण का उपयोग करके .Net स्थापित किए बिना।


4
iis के साथ asp.net को पंजीकृत करने का mvc के मौजूद होने या न होने से कोई लेना-देना नहीं है, हाँ आप अपने बिन फ़ोल्डर में आवश्यक dlls को शामिल कर सकते हैं, लेकिन यदि iis asp फ़ाइलों को नहीं पहचान रहा है तो बहुत कुछ ऐसा नहीं है जो dlls कर सकता है
Sheharhar

3

मैंने .net 4 के लिए ISAPI / CGI पथ जोड़े। जो समस्या को ठीक नहीं करता था। इसलिए मैंने .Net V4 (क्लाइंट और एक्सटेंडेड) इंस्टालेशन पर रिपेयर चलाया। जिसमें रिबूट के लिए कहा गया। इसने मेरे लिए इसे ठीक कर दिया।


2

विंडोज 8.1 पर इसे ठीक करने के लिए पेशेवर मशीन निम्नलिखित कार्य करती है।

  1. वेब प्लेटफ़ॉर्म इंस्टॉलर स्थापित करें। http://www.microsoft.com/web/downloads/platform.aspx

  2. वेब प्लेटफ़ॉर्म इंस्टॉलर में ASP.NET 4.5 स्थापित करें (इस सुविधा में एक निर्भरता है)।

यदि आप बस सबसे लोकप्रिय उत्तर से पूर्वोक्त cmd प्रॉम्प्ट कमांड का प्रयास करते हैं, तो आपको निम्न त्रुटि / चेतावनी संदेश मिलेगा:

C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS संस्करण 4.0.30319.33440 प्रशासन उपयोगिता स्थापित करने और स्थानीय मशीन पर ASP.NET स्थापना रद्द करने के लिए। कॉपीराइट (C) Microsoft Corporation। सभी अधिकार सुरक्षित। ASP.NET (4.0.30319.33440) स्थापित करना शुरू करें। यह विकल्प ऑपरेटिंग सिस्टम के इस संस्करण पर समर्थित नहीं है । व्यवस्थापकों को इसके बजाय "चालू विन डाउट्स ऑन / ऑफ" डायलॉग, सर्वर मैनेजर प्रबंधन टूल, या dis.e xe कमांड लाइन टूल का उपयोग करके IIS8 के साथ ASP.NET 4.5 को इनस्टॉल / अनइंस्टॉल करना चाहिए। अधिक जानकारी के लिए कृपया http://go.microsoft.com/fwlin k /? LinkID = 216771 देखें। ASP.NET (4.0.30319.33440) स्थापित करना समाप्त।


2

मैंने कमांड प्रॉम्प्ट में aspnet_regiis करने की कोशिश की है, लेकिन मुझे जवाब मिला कि मेरे पास व्यवस्थापक अधिकार नहीं हैं। फिर, कुछ और गुगली करने के बाद और एक समाधान की तलाश में मैंने cmd पर राइट क्लिक करने और इसे एक व्यवस्थापक के रूप में चलाने की कोशिश की। डायलॉग दिखाई देने पर हां की पुष्टि की, aspnet_iis फिर चींटी ने एक आकर्षण की तरह काम किया। संक्षेप में: app_pool में .NET .NET फ्रेमवर्क की जाँच करें। एक व्यवस्थापक के रूप में 2 cmd चलाएँ। aspnet_regiis -i चलाएँ


2

मेरे पास एक ही समस्या थी और मेरा समाधान था:

"Windows सुविधाओं को चालू या बंद करें" पर जाएं> इंटरनेट सूचना सेवाएँ> वर्ल्ड वाइड वेब सेवाएँ> अनुप्रयोग विकास सुविधाएँ> ASP.NET 4.5 सक्षम करें


यह एक आकर्षण की तरह काम करता है, लेकिन क्या कोई कारण है कि मैं इसे प्रोडक्शन सर्वर पर नहीं करना चाहूंगा, यह देखते हुए कि यह "एप्लिकेशन डेवलपमेंट फ़ीचर" है?
फिलिप स्ट्रैटफ़ोर्ड

मैं उस सुविधा के बारे में पर्याप्त नहीं जानता, जो इसे उत्पादन परिवेश में उपयोग करने के लिए टिप्पणी करता है। हालाँकि मुझे यह लिंक मिला था जो मददगार हो सकता है technet.microsoft.com/en-us/library/hh831475.aspx । इसमें एक कमांड भी शामिल है जिसे आप कमांड प्रॉम्प्ट के माध्यम से IIS और ASP.NET मॉड्यूल स्थापित करने के लिए उपयोग कर सकते हैं, जो आपकी उत्पादन आवश्यकताओं के लिए अधिक उपयुक्त हो सकता है।
रयान बर्बिज 23

1

मेरे पास विंडोज सर्वर 2012 के साथ एक समान मुद्दा था, सर्वर मैनेजर में " एप्लिकेशन सर्वर " सुविधा को स्थापित करने से यह समस्या ठीक हो गई।


1

-इनफिगरेशन फीचर का इस्तेमाल करना, इनफिगरेशन इनहेरिटेंस के कारण गलत पेज (.asp) को डिलीट करना

500.21 केवल पहले उपयोगकर्ता कनेक्शन पर होगा। इसके बाद कनेक्शन काम करते हैं।

.NET वेबसाइट पर ApplicationInitialization url संग्रह को ठीक करके हल किया गया है।


1
  1. Daud cmd

  2. Aspnet_regiis.exeकमांड प्रॉम्प्ट से खींचें और छोड़ें :

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
  3. प्रकार -i(उदाहरण के लिए Aspnet_regiis.exe -i)

  4. हिट दर्ज करें

  5. प्रक्रिया पूरी होने तक प्रतीक्षा करें

सौभाग्य!


0

मुझे यह समस्या थी और पाया कि निम्नलिखित फ़ोल्डर को हटाने में मदद की, यहां तक ​​कि गैर-एक्सप्रेस संस्करण के साथ भी। एक्सप्रेस:

C:\Users\<user>\Documents\IISExpress


0

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

32-बिट एप्लिकेशन सक्षम करें = सत्य

फिर यह ठीक काम!


0

मुझे एक ही समस्या थी, मेरे मामले में हैंडलर दो स्थानों पर था:

<system.web>
...
<httpHandlers>
 <add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
  </httpHandlers>
</system.web>

<system.webServer>
<handlers>
   ...
  <add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>

और जब मैंने अपने हैंडलर को [system.webServer] से हटाया तो मेरी समस्या गायब हो गई।


0

कुछ परिदृश्य में यह त्रुटि इसलिए होती है क्योंकि ASP .NET के लिए Microsoft .NET फ्रेमवर्क 4.0 कॉन्फ़िगरेशन क्षतिग्रस्त हो गया है, जो तब हो सकता है जब Microsoft Visual Studio 2012 Visual Studio 2010 या Microsoft SQL Server 2008 से पहले स्थापित किया गया था।

अलग-अलग चीजों की कोशिश करने के बाद, मैं निष्कर्ष पर पहुंचा, निम्नलिखित कमांड चलाकर आप .Net इंस्टॉलेशन की मरम्मत करें। अधिक जानकारी के लिए लिंक का अनुसरण करें।

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart

https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx


0

समस्या को हल करने के लिए .net फ्रेमवर्क 4 की मरम्मत करने का प्रयास करें और फिर कमांड चलाएं

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

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


1
क्या आपने अपनी पोस्ट करने से पहले सभी पोस्ट किए गए उत्तर पढ़ लिए हैं?
एम। अदील खालिद

0

मैं अपने एक वेबसर्वर पर इस मुद्दे को ले रहा था जब क्लासिक से इंटीग्रेटेड के लिए ऐप्पल को स्विच करने की कोशिश कर रहा था। यह मेरे दो अन्य webservers पर ठीक काम किया, न केवल यह एक। यह सर्वर 2012 है, इसलिए आप aspnet_regiis नहीं कर सकते हैं और उस मरम्मत की कोशिश करने के लिए कोई setupcache फ़ोल्डर नहीं था। सब कुछ सुविधाओं के तहत सही ढंग से सेट किया गया था।

% विंडीर% \ system32 \ inetsrv \ config \ applicationHost.config से गुजरने के बाद मुझे एक महत्वपूर्ण लापता बिट मिला। मेरे गैर-काम के तहत निम्नलिखित दो पंक्तियों को याद कर रहा था:

        <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
        <add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

एक बार मैंने उन्हें जोड़ा, सब कुछ बहुत अच्छा काम किया।

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