IIS 7.5 पर ASP.NET MVC


338

मैं विजुअल स्टूडियो 2010 RC का उपयोग करके विंडोज 7 अल्टीमेट (64 बिट) चला रहा हूं। मैंने हाल ही में अपने साथ आने वाले dev सर्वर के बजाय IIS पर अपने ऐप्स को VS चलाने / डिबग करने का निर्णय लिया है।

हालाँकि, हर बार जब मैं एमवीसी ऐप चलाने की कोशिश करता हूं, मुझे निम्न त्रुटि मिलती है:

HTTP त्रुटि 403.14 - निषिद्ध वेब सर्वर इस निर्देशिका की सामग्री को सूचीबद्ध नहीं करने के लिए कॉन्फ़िगर किया गया है। विस्तृत

त्रुटि सूचना

मॉड्यूल निर्देशिका

अधिसूचना ExecuteRequestHandler

हैंडलर StaticFile त्रुटि

कोड 0x00000000 अनुरोध किया गया

URL http: // localhost: 80 / mySite /

शारीरिक पथ C: \ myProject \ mySite \

लोगन विधि अनाम लोगन

उपयोगकर्ता अनाम

मैंने default.aspxनिर्देशिका में एक फ़ाइल रखी और मुझे निम्न त्रुटि मिली:

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

क्या इस काम को करने के लिए मैं कोई और कदम उठाना भूल गया?

नोट्स: मैंने वीएस 2010 आरसी स्थापित करने के बाद आईआईएस 7.5 स्थापित किया। मैंने Visual Studio 2010 में MVC प्रोजेक्ट के "गुण" में "वेब" टैब के तहत अंतर्निहित "वर्चुअल निर्देशिका बनाएँ" बटन का उपयोग किया था। मैंने यह सुनिश्चित किया कि एप्लिकेशन ASP.NET 4 ऐप पूल का उपयोग कर रहा है।

नीचे आईआईएस I की स्थापित विशेषताएं हैं।

वैकल्पिक शब्द


ठीक है, मुझे एक समान समस्या है और यह केवल ASP.NET MVC 3 वेबसाइटों के साथ दिखाई देती है। ASP.NET MVC 2 वेबसाइट ठीक काम करती हैं। मैंने एक Default.aspx फ़ाइल को वेबसाइट के मूल में रखा और इसे ठीक किया गया, कोई बात नहीं। मैं VS2010 SP1 और अभी भी कोई खुशी का उपयोग कर ASP.NET MVC 3 वेबसाइट पर बिन-तैनात किया है। मैं इसके साथ अपने दिमाग के अंत में हूं।
उमर फारूक ख्वाजा

5
मुझे भी यही समस्या आ रही है। मैंने 4.0 एकीकृत का उपयोग करने के लिए एप्लिकेशन सेट किया है। IIS (7.5) के साथ .NET रजिस्टर करने के लिए पंजीकरण कमांड को चलाया और अभी भी यह त्रुटि मिलती है।
कोलिन व्हाइट

2
मैं अंततः अपने सेट अप में समस्या का पता लगाने में सक्षम था, जो यह था कि मैंने फ़ाइल _Layout.cshtmlका नाम बदल दिया _PageLayout.cshtmlथा और _ViewStart.cshtmlसाथ ही साथ इसी में बदलाव भी किया था, लेकिन जाहिर है कि यह पर्याप्त नहीं था। एक बार जब मैंने नाम वापस _Layout.cshtmlकर दिया, तो यह काम करने लगा। जो भ्रामक था वह _PageLayout.cshtmlWin7 32 बिट पर सही तरीके से उठाया गया था लेकिन Win7 64 बिट या WinSvr2K8 R2 पर नहीं उठाया गया था।
उमर फारूक ख्वाजा

3
क्या किसी ने IIS 8 के साथ विंडोज 8 पर इसका समाधान पाया है?
एरिक जेड बियर्ड

3
यदि आप Windows Server 2012 या विंडो 8 पर हैं, तो इसे देखें: [ stackoverflow.com/questions/12134713/… [1]: stackoverflow.com/questions/12134713/…
Lomak

जवाबों:


499

ASP.NET 4 IIS में पंजीकृत नहीं था। कमांड लाइन में निम्नलिखित कमांड चलाना / चलाना था

32 बिट (x86) विंडोज

% विंडीर% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

64 बिट (x64) विंडोज

% विंडीर% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

डेविड मर्डोक की टिप्पणी से ध्यान दें:

यह जवाब पोस्ट किए जाने के बाद से .net संस्करण बदल गया है। जाँच करें कि फ्रेमवर्क का कौन सा संस्करण% windir% \ Microsoft.NET \ Framework64 निर्देशिका में है और चलने से पहले उसके अनुसार कमांड को बदलें (यह वर्तमान में v4.0.30319 है)


9
64-बिट विंडोज के लिए फ्रेमवर्क 64 में "64" पर ध्यान दें ! कि मुझे * एस एस में बिट। मैंने बिना किसी प्रभाव के 4 या 5 बार 32 बिट वर्जन स्थापित किया होगा।
बेन लेश

14
यह जवाब पोस्ट किए जाने के बाद से .net संस्करण बदल गया है। चेकआउट करें कि फ्रेमवर्क का कौन सा संस्करण %windir%\Microsoft.NET\Framework64निर्देशिका में है और चलने से पहले कमांड को तदनुसार बदल दें (यह वर्तमान में v4.0.30319 है)।
डेविड मर्डोक

1
यदि आप 64-बिट है @blesh में जोड़ने के लिए, और 32-बिट aspnet_regiis.exe चलाने के लिए, यह हो सकता है केवल आपके विकल्प फिर से दिखाने के लिए और कुछ नहीं कर
xster

3
यदि aspnet_regiis.exe कमांड .net फ्रेमवर्क फ़ोल्डर से गायब है, तो पूर्ण .net फ्रेमवर्क इंस्टॉलर microsoft.com/download/en/…
warrickh

11
यह IIS8 btw में काम नहीं करता है, अगर आप कोशिश करते हैं कि आपको "यह विकल्प ऑपरेटिंग सिस्टम के इस संस्करण पर समर्थित नहीं है। व्यवस्थापकों को इसके बजाय ASP8 4.5 स्थापित करना चाहिए / IIS8 के साथ" टर्न विंडोज फीचर्स ऑन / ऑफ "का उपयोग कर। संवाद, सर्वर प्रबंधक प्रबंधन उपकरण, या dis.exe कमांड लाइन उपकरण। अधिक जानकारी के लिए कृपया देखें । gorosoft.fwlink/ ? LinkID=216771 । "
मैस्ट्रो

199

यह सुनिश्चित करने के लिए एक और बात कि आपके web.config में निम्नलिखित सेट है:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

23
वो मेरे लिए किया गया। धन्यवाद
बोका

5
मेरे लिए भी इसे हल किया। अजीब बात है कि यह सेटिंग के बिना VS2010 IIS एक्सप्रेस में स्थानीय रूप से काम करता है।
फिल

8
यदि आप सेट नहीं करना चाहते हैं runAllManagedModulesForAllRequests(जो स्थिर फ़ाइलों के लिए भी चलता है) तो आप Microsoft हॉटफ़िक्स स्थापित कर सकते हैं: microsoft.com/download/en/…
जस्टिन हेलगर्सन

10
रूटिंग मॉड्यूल जोड़कर इससे बचने की कोशिश करें: britishdeveloper.co.uk/2010/06/…
क्रिस हेरिंग

यदि आप VS2013 का उपयोग कर रहे हैं और IIS 7.5 पर चलने की कोशिश कर रहे हैं - तो आपको इसे जोड़ने की जरूरत है
KenL

77

सुनिश्चित करें कि आपके पास अपने web.config में निम्नलिखित सेट है:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

बेहतर समाधान:

भले ही उपरोक्त समाधान बिल्कुल ठीक काम करता है , यह अन्य समस्या पैदा कर सकता है क्योंकि यह आपके सभी पंजीकृत HTTP मॉड्यूल को हर अनुरोध पर (.jpg .gif .css .html .pdf आदि के हर अनुरोध पर) चलाता है और यह स्पष्ट रूप से संसाधन की बर्बादी है। बजाय

<system.webServer>
<modules>
  <remove name="UrlRoutingModule-4.0"/>
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" preCondition="" />
</modules>
</system.webServer>

सुनिश्चित करें कि पूर्वनिर्धारण विशेषता खाली है इसका मतलब यह सभी अनुरोधों पर चलेगा। [और पढ़ें] ( http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html , "मूल पोस्ट पढ़ें")


6
यह रूट पर 403.14, और मेरे MVC ऐप के लिए अन्य नियंत्रक विधियों पर 404 तय करता है। हालांकि, अभी भी कुछ गड़बड़ है, क्योंकि मेरे पास एक ही सर्वर पर समान दृश्य साइट सेटिंग्स के साथ चल रहा है, और यह इस सेटिंग के बिना काम करता है। यह एक वेब.कॉन्फिग है जिसे वीएस 2012 के एसपीए प्रोजेक्ट टेम्प्लेट शिष्टाचार द्वारा बनाया गया है, मेरे बॉक्स पर ठीक काम कर रहा है लेकिन जब प्रकाशित नहीं हुआ।
शैनन

4
हां, इसलिए मेरा विकास उपकरण निहित है <system.web><httpModules><add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />, Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.configऔर मेरे वीएस 2012 की स्थापना की तारीख को संशोधित किया गया है। तो, अगला सवाल यह है कि मेरे अन्य प्रोजेक्ट में क्या है जो इसे कार्य करने की अनुमति दे रहा है?
शैनन

ध्यान दें कि यह स्पष्ट रूप %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -irसे शीर्ष समाधान द्वारा अनुशंसित नहीं है जो मेरे विकास उपकरण पर जो भी चूक मौजूद होनी चाहिए, वह निर्धारित करता है। एक बार UrlRoutModule संदर्भ को हटा देने के बाद वह आदेश मेरे लिए समस्या का समाधान नहीं करता है।
शैनन

ASP.NET MVC 5. के लिए विंडोज सर्वर 2008 R2 आईआईएस 7 पर काम करता है। धन्यवाद!
एरवी बी

42

एक और कारण है कि किसी को यह त्रुटि हो सकती है यदि फ़ाइल Global.asax अब रूट फ़ोल्डर में नहीं है।


4
हां - मैंने जो इंस्टॉलर लिखा था, वह इस फाइल को पार नहीं लाया। धन्यवाद!
zadam

4
मेरी भी यही समस्या थी। मैंने कभी भी अनुमान नहीं लगाया होगा कि 403 लक्षण के आधार पर मेरा आवेदन Global.asax याद कर रहा है
शाऊल डोलगिन

3
मेरे लिए भी इसे ठीक कर दिया: प्रकाशित विकल्पों में पूर्व-संकलन बंद कर दिया ( global.asaxकेवल फ़ाइल प्रभावित है)।
रिचर्ड

1
इसने मेरे लिए छल किया। बात यह है कि मेरे लिए, और मैं कई अन्य लोगों के लिए सुनता हूं, global.asax हर बार जब मैं प्रकाशित करता हूं तो उत्पन्न होता है। क्या किसी ने हर बार इसे उत्पन्न करने का एक तरीका निकाला?
ग्रेग जेड

धन्यवाद, मेरी समस्याओं को ठीक किया। आवेदन ASP.NET MVC 4.0, फ्रेमवर्क 4.0 पर चलता है। Arvixe पर होस्ट किया गया।
जो किंग

20

मुझे यह त्रुटि भी मिली और पता चला कि "HTTP पुनर्निर्देशन" को विंडोज सर्वर में चालू नहीं किया गया था। यह ब्लॉग पोस्ट इस ओर इशारा करता है : http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-rout-routetable-not-working-with-iis.aspx


6
जितनी भी लानत-मलामत हो सकती थी, वह यही है। मैंने हर जगह देखा, और कुछ घंटों के लिए सुरक्षा सेटिंग्स के साथ खेला, aspnet_regiis, और पर और पर। मीठे बच्चे के जीसस एक crumbly kaiser रोल पर।
एंड्रयू बैकर

मैंने इसके लिए पूरा एक दिन बिताया है। बहुत बहुत धन्यवाद।
प्रदीप

विंडोज 8 के लिए, मुझे HTTP पुनर्निर्देशन को सक्षम करने के बाद भी त्रुटियां मिलीं। इसे दूसरे चरण के रूप में करना था: इंटरनेट सूचना सेवाओं के तहत ASP.NET 4.5 भूमिका जोड़ें -> वर्ल्ड वाइड वेब सेवाएँ -> अनुप्रयोग विकास सुविधाएँ serverfault.com/questions/514091/…
dreamerkumar

दूसरे पड़ाव ने मेरी समस्या हल कर दी। कुछ मशीनें इसके बिना काम करती हैं, लेकिन अन्य यह आवश्यक है। धन्यवाद।
एलेक्सिस हाइजमीजेर

15

मधुर यीशु। मैंने उपरोक्त सभी चीजों की कोशिश की (लेकिन मेरी सेटिंग्स समान पाई गईं)। यदि आपको समस्या हो रही है, तो कोई समाधान प्राप्त करें:

http://support.microsoft.com/kb/980368

अपने सिस्टम के लिए इस KB को स्थापित करने का प्रयास करें। यदि आप 404 देख रहे हैं तो यह हो सकता है क्योंकि आपके पास यह अपडेट नहीं है - और इसापी मॉड्यूल बस नहीं मिल रहा है और इसके बिना आप इसके बारे में बहुत कुछ नहीं कर सकते हैं!


1
मेरे लिए एक 32-बिट सर्वर पर सर्वर 2008 SP2 (R2 नहीं) चल रहा है
साइमन सी


7

मेरे लिए एक Azure Server 2012 R2 IIS 8.5 VM के साथ Asp.Net MVC 5 ऐप (बिन तैनात MVC 5) के साथ मुझे एक उन्नत cmd प्रॉम्प्ट से निम्नलिखित करना था, भले ही मैंने 4.5 पहले ही स्थापित किया था:

dism /online /enable-feature /featurename:IIS-ASPNET45

स्रोत: http://support.microsoft.com/kb/2736284

मैं निम्नलिखित PowerShell के साथ सभी IIS सुविधाओं को स्थापित करता है

import-module servermanager
add-windowsfeature web-server -includeallsubfeature

स्रोत: http://www.iis.net/learn/install/installing-iis-85/installing-iis-85-on-windows-server-2012-r2

अब मेरा ऐप काम कर रहा है।


मेरे लिए 'डिस' एक ने काम किया (दूसरे प्रस्तावित बदलावों को लागू किए बिना)। मुझे यह सुनिश्चित करने के लिए अंत में '/' सभी स्विच को स्विच करना था कि सभी 'अभिभावक' सुविधाएँ भी स्थापित हो जाएँ।
जीरो रीतमीजर

इसने मेरे लिए काम किया। Windows Server 2012 पर .NET 4.5 के साथ MVC 5 चलाना। डिफ़ॉल्ट रूप से IIS .NET 4.5 स्थापित नहीं करेगा।
डीपैक

6

हमारे पास एमवीसी एप्लिकेशन एक नए सर्वर पर चला गया था। .NET 4 और MVC 3 स्थापित किया गया था, लेकिन हमें अभी भी "त्रुटि 403.14 3 मिली। इस मामले में, इसका मतलब यह था कि आईआईएस यह नहीं समझता था कि यह एमवीसी एप्लिकेशन के साथ काम कर रहा था, यह डिफ़ॉल्ट पृष्ठ की तलाश में था।

समाधान सरल था: सर्वर पर HTTP पुनर्निर्देशन स्थापित नहीं किया गया था।

सर्वर प्रबंधक - भूमिकाएँ - वेब सर्वर (आईआईएस) - भूमिका सेवाएँ - HTTP पुनर्निर्देशन: स्थापित नहीं। इसे स्थापित किया, समस्या हल हो गई।


1
सर्वर मैनेजर क्या है? मैं उसे कहाँ ढूँढू?
एलाड काटज़

सर्वर मैनेजर प्रशासनिक उपकरण में स्थित है
udog

5

इसके अलावा अगर आपका ऐप पहले से तैयार है तो आपके पास होना चाहिए

PrecompiledApp.config

अपने ऐप के रूट फ़ोल्डर में अन्यथा आप भी प्राप्त कर सकते हैं HTTP Error 403.14


मेरे पास किसी कारण के लिए फ़ाइल थी, भले ही मेरा ऐप पहले से तैयार न हो। फ़ाइल हटा दी गई और यह अब काम करती है। धन्यवाद!
vaindil 16

अगर मैं इस जवाब को 2 घंटे बिताने और अपने दम पर हल करने से पहले
देखूं

4

एक अन्य संभावित समाधान, यदि आप अपने Global.asax के चारों ओर घूमते हैं, तो सुनिश्चित करें कि मार्कअप अंक सही MvcApplication class में हैं। उम्मीद है कि यह भविष्य में किसी को बचाएगा।


4

मैंने अपनी वेबसाइटों को IIS6 से IIS7.5 तक आयात करने के लिए WebDeploy IIS एक्सटेंशन का उपयोग किया था, इसलिए सभी IIS सेटिंग्स ठीक उसी तरह थीं जैसे वे उत्पादन वातावरण में थीं। यहां प्रदान किए गए सभी समाधानों की कोशिश करने के बाद, जिनमें से कोई भी मेरे लिए काम नहीं करता था, मुझे बस क्लासिक से एकीकृत के लिए वेबसाइट के लिए ऐप पूल सेटिंग को बदलना पड़ा।


4

मैं उसी 404.14 समस्या से अचानक मिला हूं। अंत में समस्या का प्रकाशन प्रोफाइल सेटिंग में "प्रीकंपाइल" प्रकाशित करते समय अनचेक करके किया गया था।


मुझे भी। प्रकाशन आज तक कोई समस्या नहीं थी - अनचाहे इसे हल कर दिया। वैसे भी अजीब है
सर रूफो

4

मैंने एक समय पर अपना डिफ़ॉल्ट मार्ग बदल दिया:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }

सेवा:

routes.MapRoute(
"Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index" }

जिससे मुझे आपकी त्रुटि हुई। खुशी है कि किसी ने रूटिंग का उल्लेख किया क्योंकि मैं शायद हमेशा के लिए इस पर रहा हूं।


4

मेरे मामले में ASP.NET 4.5 सर्वर पर स्थापित नहीं है, इसलिए ASP.NET 4.5 स्थापित करने से समस्या ठीक हो गई।


4

आप cmd को व्यवस्थापक के रूप में चलाकर इस त्रुटि को हल कर सकते हैं यहां छवि विवरण दर्ज करें

विंडोज़ 32 के लिए चित्र के समान ही करें

64 फ्रेम के रूप में 64 बिट में बदलाव करें, फ्रेमवर्क के बजाय केवल आईस पर जाएं और साइट को रीफ्रेश करें
यदि यू अभी भी पूल में कनेक्शन में कुछ त्रुटि करता है


3

मुझे एक और समस्या थी जिसके कारण यह मुद्दा बना।

  • मैंने यह सुनिश्चित कर लिया था कि मेरा ऐप पूल एकीकृत मोड में .net 4 चला रहा है
  • मैंने aspnet_regiis.exe -i चलाया था
  • मैंने चेक किया था कि फ़ोल्डर की अनुमति मेरे ऐप पूल को चलाने वाले खाते के लिए सही ढंग से सेट की गई थी

इनमें से कुछ भी काम नहीं किया। यह पता चला कि मेरे web.config में system.webserver> मॉड्यूल के तहत मेरे पास निम्नलिखित थे:

<remove name="WindowsAuthentication" />

जाहिर है इसने विंडोज़ प्रमाणीकरण मॉड्यूल को हटा दिया जो किसी भी तरह से सब कुछ बंद करने के लिए लगता था।

मुझे आशा है कि यह किसी की मदद करता है, क्योंकि यह मुझे एक शाम का सबसे अधिक खर्च करता है!


3

यूआई विंडोज सर्वर के नए संस्करणों में थोड़ा अलग है। यहां पर आपको IIS पर काम करने के लिए ASP.Net को सक्षम करना होगा

IIS & Asp.net को ठीक करें


2

इस मुद्दे के लिए एक और समाधान जोड़ना।

मेरी Global.asax.cs फ़ाइल में मैंने निम्न का उपयोग करके MVC पाइपलाइन द्वारा खपत की जाने वाली php फ़ाइलों को अक्षम कर दिया है:

routes.IgnoreRoute( "{*php}" );

मैंने पहले एमवीसी 2 परियोजना में ये किया था और इसने ठीक काम किया, लेकिन मेरे एमवीसी 3 ऐप में ऐसा करने से उपरोक्त समस्या का कारण बना।


2

फिर भी एक और कारण यह हो सकता है - आपका RouteConfig.csया WebApiConfig.csअमान्य है।

मेरे मामले में, मेरे पास इस तरह से परिभाषित मार्ग था (घुंघराले ब्रेस के बजाय कोष्ठक पर ध्यान दें):

...
routeTemplate: "api/(something}"
...

इससे मेरा काम बनता है! मामले में मैं बदल गया routes.MapRoute( name:"Default", url:"{controller}/{action}/{repositoryId}", defaults:new { controller = "Account", action = "Login", id = UrlParameter.Optional } );। जब मैंने इस id = UrlParameter.Optionalपर repositoryId = UrlParameter.Optionalकाम करना शुरू कर दिया!
दिमरेस्की

2

विंडोज 8 उपयोगकर्ताओं के लिए कृपया ध्यान दें कि आपको विंडोज़ घटकों को जोड़ने / हटाने की आवश्यकता है। इसे आईआईएस के साथ पंजीकृत करने के लिए .net रिबूट के संस्करण को हटा दें। मुझे लगता है कि ऐसा होता है यदि आप प्राप्त करते हैं। दृश्य स्टूडियो से .net 4.5 और बाद में IIS स्थापित करें।


2

जैसा कि यह अजीब लग सकता है, आईआईएस को फिर से स्थापित करना मेरे लिए काम कर रहा है, निम्न आदेश के साथ .net संस्करण फ़ोल्डर के अंदर से चलता है।

aspnet_regiis.exe /i

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

जब मैंने पहली बार इस कमांड को चलाया तो मुझे HTTP एरर 403.14 मिलना शुरू हुआ। लेकिन एक बार जब मैंने कमांड को फिर से चलाया तो इसने समस्या को हल कर दिया।

Obs : एक और बात मैं भी किया था आईआईएस reiinstalling से पहले सर्वर प्रबंधन स्क्रीन में सर्वर सुविधाओं से दूर करने के लिए HTTP पुनर्निर्देशन था। हो सकता है कि समस्या को हल करने में भी इसका प्रभाव पड़ा हो, लेकिन मुझे यकीन नहीं है। इसलिए, यदि IIS को फिर से इंस्टॉल करना अभी भी काम नहीं करता है, तो कृपया HTTP रीडायरेक्ट को हटाने का प्रयास करें और फिर से प्रयास करें। उम्मीद है कि यह आपके लिए भी काम कर सकता है।


FYI करना aspnet_regiis.exeIIS को स्थापित या पुनर्स्थापित नहीं करता है, यह सिर्फ एक विशेष .NET फ्रेमवर्क संस्करण को पंजीकृत करता है, ताकि इसे IIS द्वारा होस्टिंग अनुप्रयोगों के लिए उपयोग किया जा सके।
स्टीफन

1

32 बिट मोड का सहारा लिए बिना इस समस्या को हल करने के लिए आपको इस प्रोजेक्ट के लिए सोर्स कोड अपडेट करना होगा

public static void RegisterUrlRoutesFromAttributes(RouteCollection routes)
{
    // Enumerate assembly for UrlRoute attributes.
    List<MapRouteParams> routeParams = new List<MapRouteParams>();
    AppDomain.CurrentDomain.GetAssemblies()
        .ToList()
        .ForEach(assembly => routeParams.AddRange(GetRouteParamsFromAttributes(assembly)));

मैंने इस मुद्दे को आईटी क्लाउड कोडप्लेक्स प्रोजेक्ट पर चर्चा बोर्ड में चर्चा के रूप में उठाया है।

http://itcloud.codeplex.com/discussions/262000


1

यह मेरे लिए काम करता है और यह दूसरे के लिए उपयोगी हो सकता है।

हो सकता है कि आवश्यक सभी घटक मौजूद न हों या / और सभी सही ढंग से पंजीकृत न हों। इसे हल करने के लिए, कंट्रोल पैनल के अंदर सभी विकल्पों को अनचेक करने का प्रयास करें -> विंडोज सुविधाओं को चालू या बंद करें -> इंटरनेट सूचना सेवाएँ -> वर्ल्ड वाइड वेब सेवाएँ -> एप्लिकेशन डेवलपमेंट सुविधाएँ, सभी विकल्पों को अनचेक करें और सभी को रीचार्ज करें और फिर IIS रीसेट करें जाँचें कि क्या समस्या हल हुई है।

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


1

यदि आप Windows 8, या सर्वर 2012 पर IIS 8.5 चला रहे हैं, तो आप पा सकते हैं कि चलने वाला mvc 4/5 (.net 4.5) वर्चुअल निर्देशिका में काम नहीं करता है। यदि आप अपने स्थानीय मशीन पर वापस इंगित करने के लिए होस्ट फ़ाइल में एक स्थानीय होस्ट प्रविष्टि बनाते हैं और फिर उस फ़ोल्डर में एक नई स्थानीय IIS वेबसाइट को इंगित करते हैं (मिलान होस्ट हेडर प्रविष्टि के साथ) तो आप पाएंगे कि यह तब काम करता है।


0

मैंने एक नियंत्रक (जैसे MvcApp/Test/SomeClasses.csऔर MvcApp/Controllers/TestController.cs) के मार्ग के समान एक नया नामस्थान (और इसलिए फ़ोल्डर) बनाया । यह भी एक 403.14 में परिणाम!


0

मेरे लिए, समाधान मेरे वेब प्रोजेक्ट में NuGet पैकेज Microsoft.AspNet.WebPages (प्लस यह रेजर और इन्फ्रास्ट्रक्चर निर्भरता है) को जोड़ना था।

इन्फ्रास्ट्रक्चर को जबरदस्ती फिर से स्थापित करना पड़ा क्योंकि इसे पहले संदर्भ के रूप में नहीं जोड़ा गया था।


0

मेरे मामले में। अनुप्रयोग Cpp संस्करण में .NET CRL संस्करण कोई प्रबंधित कोड (पता नहीं क्यों) के लिए सेट किया गया था। इसे .NET CRL वर्जन v4.0.30319 पर सेट करने से समस्या हल हो गई।

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