Imansible eseguire l’applicazione Web ASP.NET MVC 2 su IIS 7.5

Sto cercando di eseguire un’applicazione Web ASP.NET MVC 2 in IIS su Windows 7, ma ottengo un errore 403.14. Ecco i passaggi per riprodurre:

  1. Apri Visual Studio 2010
  2. Creare un nuovo progetto ASP.NET MVC 2 denominato MvcApplication1
  3. Maiusc + F5 per eseguire l’app. Dovresti vedere http://localhost:{random_port}/ e la pagina verrà visualizzata correttamente.
  4. Fare clic su MvcApplication1 e selezionare “Proprietà”. Vai alla sezione “Web”.
  5. Selezionare “Usa server Web IIS locale” e creare una directory virtuale.
  6. Salvare.
  7. Maiusc + F5 per eseguire l’app. Dovresti vedere http://localhost/MvcApplication1/ e un errore IIS Errore HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory. .

È chiaro che, per qualsiasi motivo, il routing di ASP.NET non funziona correttamente.

Cose che ho già pensato e provato:

  • Verificato che tutte le funzionalità di IIS sono abilitate in “Attiva o distriggers le funzionalità di Windows”.
  • Verificato che il sito Web predefinito è configurato per l’utilizzo di .NET 4.0
  • Riassegnate scripmap ASP.NET v4 tramite aspnet_regiis -i nella directory v4.0.30319 .

Ecco la parte più sorprendente – questo è su una macchina appena costruita . Nuova copia di Windows 7 x64 Ultimate, installazione pulita di Visual Studio 2010 Premium, nessun altro sito Web e nessun altro lavoro eseguito.

Qualcos’altro che posso provare?

Impostazione di Visual Studio per l’utilizzo del server Web IIS locale http://sofit.miximages.com/visual-studio-2010/11j176b.png

Ok, questo è risolto per me, facendo quanto segue:

Esecuzione di aspnet_regiis -i nella directory a 32 bit c:\Windows\Microsoft.NET\Framework\v4.0.30319 .

A questo punto, non capisco perché la modalità a 64 bit non funzioni, ma ora sono sbloccata. Speriamo che questo aiuti chiunque altro stia avendo questo problema.

Ho avuto esattamente lo stesso problema, quindi grazie per il tuo aiuto.

Tuttavia … hai provato a eseguire il comando aspnet_regiis -i nel prompt dei comandi di Visual Studio a 64 bit (con privilegi di amministratore)? Quando l’ho fatto, l’ho risolto per la modalità a 64 bit.

Per chiarire, ho fatto clic con il tasto destro su Visual Studio x64 Win64 Command Prompt (2010) e ho scelto Esegui come amministratore. Poi sono andato qui:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

E fatto questo: aspnet_regiis -i

E ora funziona perfettamente.

Assicurarsi inoltre che il file di configurazione abbia la seguente riga, altrimenti il ​​routing non funzionerà.

    

Un’altra cosa da notare, assicurati che il tuo pool di applicazioni sia impostato su integrato, non classico

Non utilizzare runAllManagedModulesForAllRequests. Si desidera consentire a IIS di gestire risorse come le immagini.

    

Aggiungi invece il modulo di routing MVC

       

Ho avuto questo stesso problema su IIS8 / Windows Server 2012. Nessuna delle molte soluzioni proposte ha funzionato fino a quando non ho provato quanto segue.

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

Senza l’opzione ‘/ Tutti’ si lamentava che non era installata una funzione genitore.

La cosa strana è che, secondo le funzionalità di Windows Turn on Windows o Off , asp.net 4.5 era già installato.

Non è stato necessario apportare modifiche a web.config, aggiungere o rimuovere moduli.

Ho sempre usato l’impostazione del server personalizzato in VS 2008, che mi consente comunque di eseguire il debug senza problemi. Non sono sicuro che funzioni diversamente nel 2010

Ho avuto questi sintomi; Il mio Global.asax stava andando in crash. Risolto il crash, tutto funziona ora.