Eseguire il debug di app ASP.NET o ASP.NET Core in Visual Studio
È possibile eseguire il debug di app ASP.NET e ASP.NET Core in Visual Studio. Il processo è diverso tra ASP.NET e ASP.NET Core e se viene eseguito in IIS Express o in un server IIS locale.
Nota
I passaggi e le impostazioni seguenti si applicano solo alle app di debug in un server locale. Il debug delle app in un server IIS remoto usa Connetti a processo e ignora queste impostazioni. Per altre informazioni e istruzioni per il debug remoto ASP.NET app in IIS, vedere Remote debug ASP.NET in un computer IIS o Remote debug ASP.NET Core in un computer IIS remoto.
I server Kestrel e IIS Express predefiniti sono inclusi in Visual Studio. Kestrel è il server di debug predefinito per ASP.NET progetti Core ed è preconfigurato. IIS Express è il server di debug predefinito per ASP.NET.
Il server IIS Express predefinito è incluso in Visual Studio. IIS Express è il server di debug predefinito per i progetti ASP.NET e ASP.NET Core ed è preconfigurato. È il modo più semplice per eseguire il debug e ideale per il debug iniziale e il test.
Per ASP.NET Core, è anche possibile eseguire il debug nel server Web Kestrel.
Prerequisiti per il server IIS locale
È anche possibile eseguire il debug di un'app ASP.NET o ASP.NET Core in un server IIS locale (versione 8.0 o successiva) configurato per eseguire l'app. Per eseguire il debug in IIS locale, è necessario soddisfare i requisiti seguenti:
Se non è installato, installare il carico di lavoro ASP.NET e sviluppo Web. Eseguire di nuovo il Programma di installazione di Visual Studio, selezionare Modifica e aggiungere questo carico di lavoro.
Eseguire Visual Studio come amministratore.
Installare e configurare correttamente IIS con le versioni appropriate di ASP.NET e/o ASP.NET Core. Per altre informazioni sull'uso di IIS con ASP.NET Core, vedere Host ASP.NET Core in Windows con IIS. Per ASP.NET, vedere Installare IIS e moduli ASP.NET.
Assicurarsi che l'app venga eseguita in IIS senza errori.
Eseguire il debug di app ASP.NET Core
È possibile che sia presente un profilo predefinito basato su https o uno basato sul nome del progetto, configurato per il server Web Kestrel. Se invece si esegue il debug in IIS locale, assicurarsi di soddisfare i prerequisiti per il debug IIS locale.
Selezionare il progetto ASP.NET Core in Visual Studio Esplora soluzioni e fare clic sull'icona Proprietà oppure premere ALT+INVIO oppure fare clic con il pulsante destro del mouse e scegliere Proprietà.
Selezionare la scheda Debug e fare clic sul collegamento per aprire l'interfaccia utente Apri profili di avvio debug.
L'interfaccia utente presentata corrisponde alle impostazioni nel file del
launchSettings.json
progetto. Per altre informazioni su questo file, vedere la sezione Sviluppo elaunchSettings.json
uso di più ambienti in ASP.NET Core.Selezionare il profilo da configurare per il debug.
- Per Kestrel selezionare il profilo https o il profilo denominato dopo il progetto.
- Per IIS Express selezionare IIS Express nell'elenco a discesa.
- Per IIS locale, selezionare Nuovo e creare un nuovo profilo IIS.
Assicurarsi che l'opzione Avvia browser sia selezionata.
Assicurarsi che l'URL, l'URL dell'app e l'URL SSL dell'app siano corretti.
Url specifica il percorso dell'URL host per .NET o .NET Core. Per un profilo denominato dopo il progetto, ovvero la proprietà commandName in
launchSettings.json
è Project, il server Kestrel rimane in ascolto della porta specificata. Per un profilo IIS, si tratta in genere dello stesso valore dell'URL dell'app. Per altre informazioni, vedere la sezione profilo di avvio di IIS in Configurare il progetto.URL app e URL SSL dell'app specificano gli URL dell'applicazione. Per un profilo denominato dopo il progetto, questa proprietà specifica gli URL del server Kestrel, in
https://localhost:5001
genere ehttp://localhost:5000
. Per IIS Express, l'URL SSL dell'app è inhttp://localhost:44334
genere .In Variabili di ambiente assicurarsi che ASPNETCORE_ENVIRONMENT sia presente con il valore Sviluppo. In caso contrario, aggiungere la variabile.
Per altre informazioni sulle variabili di ambiente, vedere Ambienti.
Per eseguire il debug dell'app, nel progetto impostare punti di interruzione su un codice. Nella barra degli strumenti di Visual Studio verificare che la configurazione sia impostata su Debug.
Per avviare il debug, selezionare il nome del profilo nella barra degli strumenti, ad esempio https, IIS Express o< il nome> del profilo IIS nella barra degli strumenti, selezionare Avvia debug dal menu Debug o premere F5. Il debugger viene sospeso nei punti di interruzione. Se il debugger non riesce a raggiungere i punti di interruzione, vedere Risolvere i problemi di debug.
Eseguire il debug di app ASP.NET Core
IIS Express è l'impostazione predefinita ed è preconfigurato. Se si esegue il debug in IIS locale, assicurarsi di soddisfare i requisiti per il debug IIS locale.
Selezionare il progetto ASP.NET Core in Visual Studio Esplora soluzioni e fare clic sull'icona Proprietà oppure premere ALT+INVIO oppure fare clic con il pulsante destro del mouse e scegliere Proprietà.
Selezionare la scheda Debug.
Nel riquadro Proprietà accanto a Profilo
- Per IIS Express selezionare IIS Express nell'elenco a discesa.
- Per IIS locale, selezionare il nome dell'app nell'elenco a discesa oppure selezionare Nuovo, creare un nuovo nome di profilo e selezionare OK.
Accanto a Avvia selezionare IIS Express o IIS dall'elenco a discesa.
Assicurarsi che l'opzione Avvia browser sia selezionata.
In Variabili di ambiente assicurarsi che ASPNETCORE_ENVIRONMENT sia presente con il valore Sviluppo. In caso contrario, selezionare Aggiungi e aggiungerlo.
Utilizzare File Save Selected Items (Salva elementi selezionati)>o CTRL+S per salvare le modifiche.
Per eseguire il debug dell'app, nel progetto impostare punti di interruzione su un codice. Nella barra degli strumenti di Visual Studio verificare che la configurazione sia impostata su Debug e che IIS Express o il nuovo nome del profilo IIS venga visualizzato nel campo emulatore.
Per avviare il debug, selezionare IIS Express o IIS profile name (Nome> profilo IIS Express o <IIS) sulla barra degli strumenti, selezionare Avvia debug dal menu Debug oppure premere F5. Il debugger viene sospeso nei punti di interruzione. Se il debugger non riesce a raggiungere i punti di interruzione, vedere Risolvere i problemi di debug.
Eseguire il debug di app ASP.NET
IIS Express è l'impostazione predefinita ed è preconfigurato. Se si esegue il debug in IIS locale, assicurarsi di soddisfare i requisiti per il debug IIS locale.
Selezionare il progetto ASP.NET in Visual Studio Esplora soluzioni e fare clic sull'icona Proprietà oppure premere ALT+INVIO oppure fare clic con il pulsante destro del mouse e scegliere Proprietà.
Selezionare la scheda Web .
Se la scheda Web non viene visualizzata, vedere Debug ASP.NET App core. La scheda Web viene visualizzata solo per ASP.NET Framework.
Nel riquadro Proprietà, in Server,
- Per Kestrel selezionare https nell'elenco a discesa.
- Per IIS Express selezionare IIS Express nell'elenco a discesa.
- Per IIS locale,
- Selezionare IIS locale nell'elenco a discesa.
- Accanto al campo URL progetto selezionare Crea directory virtuale, se non è ancora stata configurata l'app in IIS.
In Debugger selezionare ASP.NET.
Scegliere File>Salva elementi selezionati (o premere CTRL+S) per salvare le modifiche.
Per eseguire il debug dell'app, nel progetto impostare punti di interruzione su un codice. Nella barra degli strumenti di Visual Studio verificare che la configurazione sia impostata su Debug e che il browser desiderato venga visualizzato in IIS Express (<nome> browser) o IIS locale (<nome> browser) nel campo emulatore.
Per avviare il debug, selezionare IIS Express (<nome> browser) o IIS locale (<nome> browser) sulla barra degli strumenti, selezionare Avvia debug dal menu Debug oppure premere F5. Il debugger viene sospeso nei punti di interruzione. Se il debugger non riesce a raggiungere i punti di interruzione, vedere Risolvere i problemi di debug.
Risolvere i problemi di esecuzione del debug
Se il debug IIS locale non può passare al punto di interruzione, seguire questa procedura per risolvere i problemi.
Avviare l'app Web da IIS e assicurarsi che venga eseguita correttamente. Lasciare in esecuzione l'app Web.
In Visual Studio selezionare Debug > Collega a processo o premere CTRL+ALT+P e connettersi al processo ASP.NET o ASP.NET Core (in genere w3wp.exe o dotnet.exe). Per altre informazioni, vedere Connetti a processo e Come trovare il nome del processo di ASP.NET.
Se è possibile connettersi e raggiungere il punto di interruzione usando Connetti a processo, ma non tramite Debug>Avvia debug o F5, è probabile che un'impostazione non sia corretta nelle proprietà del progetto. Se si usa un file HOSTS, assicurarsi che sia configurato correttamente.
Configurare il debug nel file web.config
ASP.NET i progetti hanno web.config
file per impostazione predefinita, che contengono sia le informazioni di configurazione dell'app che le informazioni di avvio, incluse le impostazioni di debug. I web.config
file devono essere configurati correttamente per il debug. Le impostazioni Proprietà nelle sezioni precedenti aggiornano i web.config
file, ma è anche possibile configurarli manualmente.
Nota
ASP.NET i progetti Core non hanno web.config
inizialmente file, ma usano appsettings.json
e launchSettings.json
file per la configurazione e l'avvio delle app. La distribuzione dell'app crea un file o file web.config
nel progetto, ma in genere non contengono informazioni di debug.
Suggerimento
Il processo di distribuzione può aggiornare le web.config
impostazioni, quindi prima di provare a eseguire il debug, assicurarsi che web.config
sia configurato per il debug.
Per configurare manualmente un web.config
file per il debug:
In Visual Studio aprire il file del progetto ASP.NET
web.config
.Web.config
è un file XML, quindi contiene sezioni annidate contrassegnate da tag. Individuare la sezioneconfiguration/system.web/compilation
. Se l'elementocompilation
non esiste, crearlo.Assicurarsi che l'attributo
debug
nell'elementocompilation
sia impostato sutrue
. Se l'elementocompilation
non contiene undebug
attributo, aggiungerlo e impostarlo sutrue
.)Se si usa IIS locale anziché il server IIS Express predefinito, assicurarsi che il
targetFramework
valore dell'attributo nell'elementocompilation
corrisponda al framework nel server IIS.L'elemento
compilation
delweb.config
file dovrebbe essere simile all'esempio seguente:Nota
Questo esempio è un file parziale
web.config
. In genere sono presenti sezioni XML aggiuntive negliconfiguration
elementi esystem.web
e l'elementocompilation
potrebbe contenere anche altri attributi ed elementi.<configuration> ... <system.web> <compilation debug="true" targetFramework="4.6.1" ... > ... </compilation> </system.web> </configuration>
ASP.NET rileva automaticamente le modifiche apportate ai web.config
file e applica le nuove impostazioni di configurazione. Non è necessario riavviare il computer o il server IIS per rendere effettive le modifiche.
Un sito Web può contenere diverse directory virtuali e sottodirectory, con web.config
file in ognuno di essi. ASP.NET le app ereditano le impostazioni di configurazione dai web.config
file a livelli più elevati nel percorso URL. Le impostazioni dei file gerarchici web.config
si applicano a tutte le app ASP.NET sottostanti nella gerarchia. L'impostazione di una configurazione diversa in un web.config
file inferiore nella gerarchia esegue l'override delle impostazioni nel file superiore.
Ad esempio, se si specifica debug="true"
in www.microsoft.com/aaa/web.config, qualsiasi app nella aaa
cartella o in qualsiasi sottocartella di aaa
eredita tale impostazione, tranne se una di queste app esegue l'override dell'impostazione con il proprio web.config
file.
Importante
La modalità di debug riduce notevolmente le prestazioni dell'app. Quando si distribuisce un'app di produzione o si eseguono misurazioni delle prestazioni, impostare debug="false"
in web.config
e specificare una build di rilascio.
Contenuto correlato
- Debug di ASP.NET: requisiti di sistema
- Procedura: Eseguire il processo di lavoro con un account utente
- Procedura: Trovare il nome del processo ASP.NET
- Eseguire il debug di applicazioni Web distribuite
- Procedura: Eseguire il debug di eccezioni ASP.NET
- Eseguire il debug di applicazioni Web: errori e risoluzione dei problemi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per