Errore: impossibile avviare il debug sul server Web

Quando si tenta di eseguire il debug di un'applicazione ASP.NET in esecuzione in un server Web, è possibile che venga visualizzato questo messaggio di errore: Unable to start debugging on the Web server.

Spesso questo errore si verifica perché si è verificato un errore o una modifica della configurazione che richiede un aggiornamento ai pool di applicazioni, una reimpostazione di IIS o entrambi. È possibile reimpostare IIS aprendo un prompt dei comandi con privilegi elevati e digitando iisreset.

Qual è il messaggio di errore dettagliato?

Il Unable to start debugging on the Web server messaggio è generico. In genere, un messaggio più specifico è incluso nella stringa di errore e può aiutare a identificare la causa del problema o cercare una correzione più esatta. Ecco alcuni dei messaggi di errore più comuni aggiunti al messaggio di errore principale:

IIS non elenca un sito Web che corrisponde all'URL di avvio

  • Riavviare Visual Studio come Amministrazione istrator e riprovare a eseguire il debug. Alcuni scenari di debug ASP.NET richiedono privilegi elevati.

    È possibile configurare Visual Studio per l'esecuzione sempre come Amministrazione istrator facendo clic con il pulsante destro del mouse sull'icona di scelta rapida di Visual Studio, scegliendo Proprietà > avanzate e quindi scegliendo di eseguire sempre come Amministrazione istrator.

Il server Web non è configurato in modo corretto

Impossibile connettersi al server Web

  • Si esegue Visual Studio e il server Web nello stesso computer e si esegue il debug usando F5 (invece di Collega a processo)? Aprire le proprietà del progetto e assicurarsi che il progetto sia configurato per la connessione al server Web corretto e all'URL di avvio. (Apri)Proprietà > Server Web > o Debug proprietà> a seconda del tipo di progetto. Per un progetto Web Form, aprire Il server Delle opzioni > di avvio pagine > delle proprietà.

  • In caso contrario, riavviare il pool di applicazioni e quindi reimpostare IIS. Per altre informazioni, vedere Controllare la configurazione di IIS.

Il server Web non ha risposto in modo tempestivo

  • Reimpostare IIS e riprovare a eseguire il debug. È possibile collegare più istanze del debugger al processo IIS; una reimpostazione li termina. Per altre informazioni, vedere Controllare la configurazione di IIS.

Timeout dell'operazione

  • Reimpostare IIS e riprovare a eseguire il debug. È possibile collegare più istanze del debugger al processo IIS; una reimpostazione li termina. Per altre informazioni, vedere Controllare la configurazione di IIS.

Microsoft Visual Studio Remote Debugging Monitor (msvsmon.exe) non sembra essere in esecuzione sul computer remoto

  • Se si esegue il debug in un computer remoto, assicurarsi di aver installato ed eseguito il debugger remoto. Se il messaggio indica un firewall, assicurarsi che le porte corrette nel firewall siano aperte, soprattutto se si usa un firewall di terze parti.
  • Se si usa un file HOSTS, assicurarsi che sia configurato correttamente. Ad esempio, se si esegue il debug usando F5 (anziché Connetti a processo), il file HOSTS deve includere lo stesso URL di progetto delle proprietà del progetto, Proprietà > Server Web> o Debug proprietà>, a seconda del tipo di progetto.

Il server remoto ha restituito un errore

Controllare la presenza di codici secondari di errore e informazioni aggiuntive nel file di log IIS e nel post di blog di IIS 7.

Inoltre, ecco alcuni dei codici di errore comuni e alcuni suggerimenti.

  • 403 - Accesso negato. Esistono molte possibili cause per questo errore, quindi controllare il file di log e le impostazioni di sicurezza iis per il sito Web. Assicurarsi che il file del web.config server includa debug=true nell'elemento di compilazione. Assicurarsi che la cartella applicazione Web disponga delle autorizzazioni corrette e che la configurazione del pool di applicazioni sia corretta (una password potrebbe essere stata modificata). Vedere Controllare la configurazione di IIS. Se queste impostazioni sono già corrette e si esegue il debug in locale, verificare anche di connettersi al tipo di server e all'URL corretti (in Proprietà > Server Web > o Debug proprietà>, a seconda del tipo di progetto).
  • (503) Server non disponibile. Il pool di applicazioni potrebbe essere stato arrestato a causa di un errore o di una modifica della configurazione. Riavviare il pool di applicazioni.
  • (404) Non trovato. Assicurarsi che il pool di applicazioni sia configurato per la versione corretta di ASP.NET.

Impossibile avviare ASP.NET debug

  • Riavviare il pool di applicazioni e reimpostare IIS. Per altre informazioni, vedere Controllare la configurazione di IIS.
  • Se si esegue la riscrittura dell'URL, testare un file di base web.config senza riscrittura URL. Vedere la nota relativa al modulo di riscrittura URL in Controllare la configurazione di IIS.

Il debugger non può connettersi al computer remoto

Se si esegue il debug in locale, aprire le proprietà del progetto in Visual Studio e assicurarsi che il progetto sia configurato per connettersi al server Web e all'URL corretti. (Apri)Proprietà > Server Web > o Debug proprietà > a seconda del tipo di progetto.

Questo errore può verificarsi durante il debug in locale con una versione a 32 bit di Visual Studio, che usa la versione a 64 bit del debugger remoto per eseguire il debug di applicazioni a 64 bit. Visual Studio 2019 e versioni precedenti sono applicazioni a 32 bit. Controllare il pool di app in IIS per assicurarsi che l'opzione Abilita applicazioni a 32 bit sia impostata su true, riavviare IIS e riprovare.

Inoltre, se si usa un file HOSTS, assicurarsi che sia configurato correttamente. Ad esempio, il file HOSTS deve includere lo stesso URL di progetto delle proprietà del progetto, Proprietà Server Web> o Debug proprietà>, a seconda del tipo di > progetto.

Per verificare gli errori di configurazione comuni, consultare la Guida. L'esecuzione della pagina Web all'esterno del debugger può fornire ulteriori informazioni.

  • Si esegue Visual Studio e il server Web nello stesso computer? Aprire le proprietà del progetto e assicurarsi che il progetto sia configurato per la connessione al server Web corretto e all'URL di avvio. (Apri)Proprietà > Server Web > o Debug proprietà > a seconda del tipo di progetto.

  • Se non funziona o si esegue il debug in remoto, seguire la procedura descritta in Controllare la configurazione di IIS.

Operazione non supportata. Errore sconosciuto: errornumber

Se si esegue la riscrittura dell'URL, testare un file di base web.config senza riscrittura URL. Vedere la nota relativa al modulo di riscrittura URL in Controllare la configurazione di IIS.

Controllare la configurazione di IIS

Dopo aver eseguito i passaggi descritti in dettaglio qui per risolvere il problema e prima di riprovare a eseguire il debug, potrebbe essere necessario reimpostare IIS. A tale scopo, aprire un prompt dei comandi con privilegi elevati e digitare iisreset.

  • Arrestare e riavviare i pool di applicazioni IIS, quindi riprovare.

    Il pool di applicazioni potrebbe essere stato arrestato a causa di un errore. In alternativa, un'altra modifica di configurazione apportata potrebbe richiedere l'arresto e il riavvio del pool di applicazioni.

    Nota

    Se il pool di applicazioni continua ad arrestarsi, potrebbe essere necessario disinstallare il modulo di riscrittura URL dal Pannello di controllo e quindi reinstallare il modulo. Questo problema può verificarsi dopo un aggiornamento significativo del sistema.

  • Controllare la configurazione del pool di applicazioni, correggerla se necessario e quindi riprovare.

    Il pool di applicazioni può essere configurato per una versione di ASP.NET che non corrisponde al progetto di Visual Studio. Aggiornare la versione ASP.NET nel pool di applicazioni e riavviarla. Per informazioni dettagliate, vedere IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 .For detailed information, see IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5.

    Inoltre, se le credenziali della password sono state modificate, potrebbe essere necessario aggiornarle nel pool di applicazioni o nel sito Web. Nel pool di applicazioni aggiornare le credenziali in Identità del modello >di processo avanzato Impostazioni>. Per il sito Web, aggiornare le credenziali in Impostazioni > di base Connessione as.... Riavviare il pool di applicazioni.

  • Verificare che la cartella applicazione Web disponga delle autorizzazioni appropriate.

    Assicurarsi di assegnare IIS_IUSRS, IUSR o l'utente specifico associato al pool di applicazioni i diritti di lettura ed esecuzione per la cartella applicazione Web. Risolvere il problema e riavviare il pool di applicazioni.

  • Assicurarsi che la versione corretta di ASP.NET sia installata in IIS.

    Le versioni non corrispondenti di ASP.NET in IIS e nel progetto di Visual Studio possono causare questo problema. Potrebbe essere necessario impostare la versione del framework in web.config. Per installare ASP.NET Core in IIS, vedere Installare ASP.NET Core in Windows Server o, per ASP.NET, installare ASP.NET in Windows Server. Vedere anche IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 or, for ASP.NET Core, Host on Windows with IIS (Uso di IIS 3.5 e ASP.NET 4.5 o, per ASP.NET Core, Host in Windows con IIS.

  • Risolvere gli errori di autenticazione se si usa solo l'indirizzo IP

    Per impostazione predefinita, gli indirizzi IP vengono considerati indirizzi Internet e l'autenticazione NTLM non viene eseguita su Internet. Se il sito Web è configurato in IIS per richiedere l'autenticazione, l'autenticazione non riesce. Per risolvere il problema, è possibile specificare il nome del computer remoto anziché l'indirizzo IP.

Altre cause

Se la configurazione iis non causa il problema, provare a eseguire questa procedura:

  • Riavviare Visual Studio con privilegi di Amministrazione istrator e riprovare.

    Alcuni scenari di debug ASP.NET richiedono privilegi elevati per Visual Studio.

  • Se sono in esecuzione più istanze di Visual Studio, riaprire il progetto in un'istanza di Visual Studio (con privilegi Amministrazione istrator) e riprovare.

  • Se si usa un file HOSTS con indirizzi locali, provare a usare l'indirizzo loopback anziché l'indirizzo IP del computer.

    Se non si usano indirizzi locali, assicurarsi che il file HOSTS includa lo stesso URL del progetto delle proprietà del progetto, Proprietà Server Web> o Debug proprietà>, a seconda del tipo di > progetto.

Altri passaggi di risoluzione dei problemi

  • Visualizzare la localhost pagina nel browser nel server.

    Se IIS non è installato correttamente, dovrebbero essere visualizzati degli errori quando si digita http://localhost in un browser.

    Per altre informazioni sulla distribuzione in IIS, vedere IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 and, for ASP.NET Core, Host on Windows with IIS .

  • Creare un'applicazione di base ASP.NET nel server (o usare un file di base web.config ).

    Se non è possibile usare l'app con il debugger, provare a creare un'applicazione di base ASP.NET in locale nel server e provare a eseguire il debug dell'app di base. È possibile usare il modello MVC ASP.NET predefinito. Se è possibile eseguire il debug di un'app di base, ciò può aiutare a identificare le differenze tra le due configurazioni. Cercare le differenze nelle impostazioni nel web.config file, ad esempio le regole di riscrittura url.

Vedi anche