Visual Studio 2013 e 2015: Unable to start debugging on the web server. Could not start ASP.NET debugging – Come risolvere

  • Se vi siete imbattuti in questo articolo è probabile che vi sia capitato, al momento di eseguire il debug della vostra Web Application con Visual Studio, di visualizzare il seguente messaggio di errore:

Unable to start debugging on the web server. Could not start ASP.NET debugging. More information may be available by starting the project without debugging.

visual-studio-2013-2015-unable-to-start-debugging

Nel caso in cui abbiate recentemente installato Windows 10 vi consiglio di saltare direttamente al paragrafo Malfunzionamento dell’URL Rewrite Module, che molto probabilmente contiene le informazioni per risolvere il vostro problema. In caso contrario, continuate a leggere.

A dispetto di quanto dichiarato dal messaggio, è improbabile che avviando il progetto senza il debugger si ottengano maggiori informazioni. Fortunatamente, la problematica è piuttosto nota nell’ambiente grazie a numerose segnalazioni su siti specializzati come StackOverflow. La causa, nella maggior parte dei casi, è dovuta all’Application Pool predefinito – solitamente il DefaultAppPool – che è stato arrestato.

La prima cosa da fare, quindi, è provare a riavviarlo. Per far questo, navigate in Pannello di Controllo > Strumenti di Amministrazione > Gestione IIS > Pool di Applicazioni, quindi fate click su DefaultAppPool con il tasto destro del mouse e selezionate Avvia. Una volta fatto questo, eseguite un iisreset per sicurezza, quindi provate a eseguire nuovamente il debug della vostra web application con Visual Studio e verificate se il problema è scomparso. In caso affermativo, avete finito: in caso contrario, tornate nel pannello di Gestione IIS > Pool di Applicazioni e controllate nuovamente lo stato del DefaultAppPool: nel caso in cui sia nuovamente disattivato, significa che esiste qualche problema di configurazione nel vostro sistema che provoca il crash degli Application Pool.

Le problematiche che provocano il malfunzionamento degli App Pool sono normalmente due:

  • Mancanza dei permessi nella cartella della Web Application.
  • Malfunzionamento dell’URL Rewrite Module, problema che solitamente si verifica a seguito di un upgrade a Windows 8.1 o a Windows 10 da una versione meno aggiornata di Windows.

Vediamo in dettaglio come affrontare entrambe.

Mancanza di Permessi

Questa problematica è stata riscontrata da molti utenti e si riscontra in numerose segnalazioni (come questa) nel forum ufficiale di IIS. La prima cosa da fare è controllare se la cartella della vostra Web Application contiene permessi sufficienti a consentire l’accesso all’Application Pool. Verificate che i permessi di lettura ed esecuzione agli utenti IIS_IUSRS e IUSR siano entrambi presenti, in caso contrario:

  • Aggiungete i permessi alla cartella.
  • Riavviate l’AppPool da Gestione IIS > Pool di Applicazioni
  • Riavviate l’istanza di IIS lanciando un prompt di comandi con privilegi di amministrazione e digitando il comando iisreset.
  • Provate a eseguire nuovamente il debug della vostra web application con Visual Studio e verificate se il problema è scomparso.

Anche in questo caso, se il popup di errore continua ad apparire dovrete controllare lo status del DefaultAppPool: se continua ad arrestarsi, continuate a leggere.

Malfunzionamento dell’URL Rewrite Module

Questo problema, come detto, si verifica molto frequentemente a seguito dell’upgrade a Windows 8.1 o a Windows 10 ed è dovuto al fatto che alcune delle modifiche effettuate dal processo di installazione compromettono il funzionamento del modulo IIS URL Rewrite 2.0. La prima cosa da fare è verificare che il problema sia proprio questo aprendo il Visualizzatore Eventi lanciando il Pannello di Controllo e navigando in Strumenti di Amministrazione > Visualizzatore Eventi. Una volta lì, controllate gli eventi relativi a Registri di Windows > Applicazione e cercate uno o più eventi che abbiano Origine IIS-W3SVC-WP e ID evento 2280. Se avete fatto molte prove, come del resto è probabile, dovreste trovarne parecchi.

event-viewer-IIS-W3SVC-WP

Apritene uno a caso e controllate che il testo dell’errore sia il seguente:

Errore nel caricamento della DLL C:\WINDOWS\system32\inetsrv\rewrite.dll del modulo. Il codice errore è nei dati.

 

Se la descrizione corrisponde, avete scoperto l’origine del vostro problema. Fortunatamente, per risolverlo è quasi sempre sufficiente disinstallare e reinstallare il modulo URL Rewrite.

Per far questo, andate in Pannello di Controllo > Programmi e funzionalità > Disinstalla un programma, cercate IIS URL Rewrite 2.0 nella lista delle applicazioni installate e fate click su Disinstalla/Rimuovi. Una volta completato il processo di rimozione, potrete installare una nuova versione tramite la Microsoft Web Platform Installer oppure scaricandola dal sito ufficiale:

HipIISEngineStub.dll failed to load

Se utilizzate IIS7.0 o superiore insieme a una versione dell’antivirus McAfee potreste imbattervi, sempre nell’Event Viewer, in un messaggio completamente diverso:

HipIISEngineStub.dll failed to load. The data is the error.

In questo caso la soluzione è la seguente:

  • Aprire il file     con privilegi di Amministratore.
  • Eliminare la riga seguente all’interno della sezione   :
  • Eliminare la riga seguente all’interno della sezione    :
  • Salvare il file, quindi riavviare IIS.

Un grazie a George M. (cfr. commenti a questo articolo) e a questo post per il workaround.

Per il momento è tutto: felice debug!

RELATED POSTS

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

View all posts by Ryan