Debug remoto ASP.NET Core in IIS usando una macchina virtuale di Azure da Visual Studio
Questa guida illustra come configurare e configurare un'app Visual Studio ASP.NET Core, distribuirla in IIS usando una macchina virtuale di Azure e collegare il debugger remoto da Visual Studio.
Per gli scenari IIS, Linux non è supportato.
Per eseguire il debug di IIS in una macchina virtuale di Azure, seguire la procedura descritta in questo articolo. Usando questo metodo, è possibile usare una configurazione personalizzata di IIS, ma i passaggi di installazione e distribuzione sono più complessi. Se non è necessario personalizzare IIS per lo scenario, è possibile scegliere metodi più semplici per ospitare ed eseguire il debug dell'app in servizio app di Azure.
Per una macchina virtuale di Azure, è necessario distribuire l'app da Visual Studio in Azure ed è anche necessario installare manualmente il ruolo IIS e il debugger remoto, come illustrato nella figura seguente.
Avvertimento
Assicurarsi di eliminare le risorse di Azure create al termine della procedura descritta in questa esercitazione. In questo modo è possibile evitare di incorrere in addebiti non necessari.
Queste procedure sono state testate in queste configurazioni del server:
- Windows Server 2022 e IIS 10
- Windows Server 2019 e IIS 10
- Windows Server 2016 e IIS 10
Prerequisiti
Visual Studio 2019 o versioni successive è necessario per seguire i passaggi illustrati in questo articolo.
Requisiti di rete
Il debug tra due computer connessi tramite un proxy non è supportato. Il debug su una connessione a latenza elevata o bassa larghezza di banda, ad esempio connessione Internet remota o su Internet tra paesi/aree geografiche non è consigliato e potrebbe non riuscire o essere inaccettabile lento. Per un elenco completo dei requisiti, vedere requisiti .
App già in esecuzione in IIS nella macchina virtuale di Azure?
Questo articolo include i passaggi per configurare una configurazione di base di IIS in Windows Server e la distribuzione dell'app da Visual Studio. Questi passaggi sono inclusi per assicurarsi che nel server siano installati i componenti necessari, che l'app possa essere eseguita correttamente e che sia possibile eseguire il debug remoto.
Se l'app è in esecuzione in IIS e si vuole solo scaricare il debugger remoto e avviare il debug, passare a Scaricare e installare gli strumenti remoti in Windows Server.
Per assicurarsi che l'app sia configurata, distribuita e in esecuzione correttamente in IIS in modo che sia possibile eseguire il debug, seguire tutti i passaggi descritti in questo articolo.
Prima di iniziare, seguire tutti i passaggi descritti in Creare una macchina virtuale Windows, che include i passaggi per installare il server Web IIS.
Assicurarsi di aprire la porta 80 nel gruppo di sicurezza di rete di Azure . Quando si verifica che la porta 80 sia aperta, aprire anche la porta corretta per il debugger remoto (4026, 4024 o 4022). In questo modo, non è necessario aprirlo in un secondo momento. Se si usa Distribuzione Web, aprire anche la porta 8172.
Creare l'applicazione ASP.NET Core nel computer di Visual Studio
Creare una nuova applicazione Web ASP.NET Core.
In Visual Studio, scegliere File>finestra Start per aprire la finestra Start e quindi scegliere Crea un nuovo progetto. Nella casella di ricerca, digitare app Web, quindi scegliere C# come lingua, quindi scegliere ASP.NET Core Web Application (Model-View-Controller), e quindi scegliere Avanti. Nella schermata successiva assegnare al progetto il nome MyASPAppe quindi scegliere Avanti.
Scegliere il framework di destinazione consigliato o .NET 8 e poi selezionare Crea. La versione deve corrispondere alla versione installata nel server.
Aprire il file HomeController.cs nella cartella Controllers e impostare un punto di interruzione nell'istruzione
return View;
nel metodoPrivacy
.Nei modelli precedenti aprire il file Privacy.cshtml.cs e impostare un punto di interruzione nel metodo
OnGet
.
Aggiornare le impostazioni di sicurezza del browser in Windows Server
Se si usa una versione precedente di Windows Server, potrebbe essere necessario aggiungere alcuni domini come siti attendibili per consentire di scaricare alcuni componenti del server Web. Aggiungere i Siti Attendibili vai a Opzioni Internet > Sicurezza > Siti Attendibili > Siti. Aggiungere i domini seguenti.
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
Quando si scarica il software, è possibile che vengano richieste di concedere l'autorizzazione per caricare vari script e risorse del sito Web. Alcune di queste risorse non sono necessarie, ma per semplificare il processo, selezionare Aggiungi quando richiesto.
Installare ASP.NET Core in Windows Server
Installare il bundle di hosting .NET Core nel sistema di hosting. Il bundle installa il runtime di .NET Core, la libreria .NET Core e il modulo ASP.NET Core. Per istruzioni più approfondite, vedere Pubblicazione in IIS.
Per il bundle di hosting corrente di .NET Core, installare il bundle di hosting ASP.NET Core.
Nota
Se IIS è stato installato in precedenza, il modulo IIS di ASP.NET Core viene installato con ASP.NET Core. In caso contrario, installare manualmente il modulo IIS di ASP.NET Core.
Per .NET Core 2, installa il pacchetto di hosting per Windows Server di .NET Core .
Nota
Se il sistema non dispone di una connessione Internet, ottenere e installare il Microsoft Visual C++ 2015 Redistributable prima di installare il bundle di hosting di Windows Server .NET Core.
Riavviare il sistema o eseguire net stop was /y seguito da net start w3svc da un prompt dei comandi per applicare una modifica al percorso di sistema.
Scegliere un'opzione di distribuzione
Se è necessaria assistenza per la distribuzione dell'app in IIS, prendere in considerazione queste opzioni:
Eseguire la distribuzione creando un file di impostazioni di pubblicazione in IIS e importando le impostazioni in Visual Studio. In alcuni scenari questo approccio è un modo rapido per distribuire l'app. Quando si crea il file delle impostazioni di pubblicazione, le autorizzazioni vengono configurate automaticamente in IIS.
Eseguire la distribuzione pubblicando in una cartella locale e copiando l'output con il metodo preferito nella cartella dell'app precedentemente preparata su IIS.
(Facoltativo) Eseguire la distribuzione usando un file di impostazioni di pubblicazione
È possibile usare questa opzione per creare un file di impostazioni di pubblicazione e importarlo in Visual Studio.
Nota
Questo metodo di distribuzione usa Distribuzione Web, che deve essere installato nel server. Se si vuole configurare distribuzione Web manualmente anziché importare le impostazioni, è possibile installare Distribuzione Web 3.6 anziché Distribuzione Web 3.6 per i server di hosting. Tuttavia, se si configura distribuzione Web manualmente, è necessario assicurarsi che una cartella dell'app nel server sia configurata con i valori e le autorizzazioni corretti (vedere Configurare ASP.NET sito Web).
Configurare il sito Web ASP.NET Core
In Gestione IIS, nel riquadro sinistro in Connessioniselezionare pool di applicazioni . Apri DefaultAppPool e imposta la versione .NET CLR su Nessun codice gestito. Questa operazione è necessaria per ASP.NET Core. Il sito Web predefinito usa DefaultAppPool.
Arrestare e riavviare DefaultAppPool.
Installare e configurare distribuzione Web in Windows Server
Web Deploy offre funzionalità di configurazione aggiuntive che consentono la creazione del file delle impostazioni di pubblicazione dall'interfaccia utente.
Nota
Il Web Platform Installer ha raggiunto la fine del supporto il 7/1/22. Per altre informazioni, vedere Programma di installazione della piattaforma Web - Fine del supporto e chiusura del feed di prodotti/applicazioni. È possibile installare direttamente Distribuzione Web 4.0 per creare il file delle impostazioni di pubblicazione.
Se non è già stato installato IIS Management Scripts and Tools, installarlo ora.
Passare a Selezionare i ruoli del server>Server Web (IIS)>Strumenti di gestione, quindi selezionare il ruolo script e strumenti di gestione IIS, fare clic su Avantie quindi installare il ruolo.
Gli script e gli strumenti sono necessari per abilitare la generazione del file delle impostazioni di pubblicazione.
Assicurarsi di installare anche il servizio di gestione e la IIS Management Console (potrebbero essere già installati).
Su Windows Server scaricare Distribuzione Web 4.0.
Eseguire il programma di installazione di distribuzione Web e assicurarsi di selezionare installazione completa anziché un'installazione tipica.
Con un'installazione completa, si ottengono i componenti necessari per generare un file di impostazioni di pubblicazione. Se scegli Custom, puoi visualizzare l'elenco dei componenti, come mostrato nell'illustrazione seguente.
(Facoltativo) Verificare che Distribuzione Web sia in esecuzione correttamente aprendo Pannello di controllo > Sistema e sicurezza > Strumenti di amministrazione > Servicese quindi assicurarsi che:
servizio agente di distribuzione Web è in esecuzione (il nome del servizio è diverso nelle versioni precedenti).
Il servizio di gestione Web è in esecuzione.
Se uno dei servizi dell'agente non è in esecuzione, riavviare il servizio agente di distribuzione Web .
Se il servizio agente di distribuzione Web non è presente, passare a Pannello di controllo > Programmi > Disinstallare un programma, trovare Microsoft Web Deploy <versione>. Scegliere di Modifica l'installazione e assicurarsi di scegliere Verrà installato nel disco rigido locale per i componenti distribuzione Web. Completare i passaggi di installazione delle modifiche.
Creare il file delle impostazioni di pubblicazione in IIS in Windows Server
Chiudere e riaprire la Console di gestione IIS per visualizzare le opzioni di configurazione aggiornate nell'interfaccia utente.
In IIS, fare clic con il pulsante destro del mouse sul sito Web predefinito, scegliere Distribuisci>Configura la pubblicazione di Web Deploy.
Se non viene visualizzato il menu Distribuisci, vedere la sezione precedente per verificare se Web Deploy è in esecuzione.
Nella finestra di dialogo Configura pubblicazione distribuzione Web esaminare le impostazioni.
Cliccare su Setup.
Nel pannello Risultati l'output mostra che i diritti di accesso vengono concessi all'utente specificato e che un file con estensione publishsettings file è stato generato nel percorso visualizzato nella finestra di dialogo.
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
A seconda della configurazione di Windows Server e IIS, nel file XML vengono visualizzati valori diversi. Ecco alcuni dettagli sui valori visualizzati:
Il file msdeploy.axd a cui si fa riferimento nell'attributo
publishUrl
è un file del gestore HTTP generato dinamicamente per distribuzione Web. (A scopo di test,http://myhostname:8172
funziona generalmente anche.)La porta
publishUrl
è impostata sulla porta 8172, ovvero l'impostazione predefinita per Distribuzione Web.La porta
destinationAppUrl
è impostata sulla porta 80, ovvero l'impostazione predefinita per IIS.Se, nei passaggi successivi, non è possibile connettersi all'host remoto da Visual Studio usando il nome host, testare l'indirizzo IP del server al posto del nome host.
Nota
Se si esegue la pubblicazione in IIS in una macchina virtuale di Azure, è necessario aprire una porta in ingresso per Distribuzione Web e IIS nel gruppo Sicurezza di rete. Per informazioni dettagliate, vedere Aprire le porte a una macchina virtuale.
Copiare questo file nel computer in cui si esegue Visual Studio.
Importare le impostazioni di pubblicazione in Visual Studio e distribuire
Nel computer in cui è aperto il progetto ASP.NET in Visual Studio fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Pubblica.
Se in precedenza sono stati configurati profili di pubblicazione, viene visualizzato il riquadro Pubblica. Fare clic su Nuovo o Crea nuovo profilo.
Selezionare l'opzione per importare un profilo.
Nella finestra di dialogo Pubblica, fare clic su Importa profilo.
Vai alla posizione del file delle impostazioni di pubblicazione creato nella sezione precedente.
Nella finestra di dialogo Importa file di impostazioni di pubblicazione passare a e selezionare il profilo creato nella sezione precedente e fare clic su Apri.
Cliccare su Fine per salvare il profilo di pubblicazione e quindi su Pubblica.
Visual Studio avvia il processo di distribuzione e la finestra Output mostra lo stato di avanzamento e i risultati.
Se si verificano errori di distribuzione, fare clic su Altre azioni>Modifica per modificare le impostazioni. Modificare le impostazioni e fare clic su Convalida per testare le nuove impostazioni. Se il nome host non viene trovato, provare l'indirizzo IP anziché il nome host nei campi server e url di destinazione .
Nota
Se si riavvia una macchina virtuale di Azure, l'indirizzo IP potrebbe cambiare.
Dopo che l'app viene distribuita correttamente, dovrebbe essere avviata automaticamente.
- Se l'app non viene avviata dopo la distribuzione, avviare l'app in IIS per verificare che venga eseguita correttamente.
- Per ASP.NET Core verificare che il campo pool di applicazioni per DefaultAppPool sia impostato su Nessun codice gestito.
Quando si è pronti, passare a una configurazione di debug.
Importante
Se si sceglie di eseguire il debug di una configurazione di versione, si disabilita il debug nel file web.config durante la pubblicazione.
- Selezionare Altre opzioni>Modifica per modificare il profilo e quindi selezionare Impostazioni.
- Selezionare Salva e quindi ripubblicare l'app.
- Selezionare una configurazione Debug e quindi selezionare Rimuovi file aggiuntivi alla destinazione sotto le opzioni di Pubblicazione file.
- Selezionare Modifica per modificare il profilo e quindi selezionare Impostazioni.
- Selezionare Salva e quindi ripubblicare l'app.
- Selezionare una configurazione Debug e quindi, nelle opzioni Pubblicazione file, selezionare Rimuovi file aggiuntivi nella destinazione.
Avvertimento
L'uso di credenziali di nome utente e password (autenticazione di base) non è il metodo di autenticazione più sicuro. Quando possibile, usare metodi alternativi. Si consideri ad esempio la pubblicazione in un pacchetto da Visual Studio e quindi usare WebDeploy.exe da una riga di comando per distribuire il pacchetto. Con questo metodo, è possibile usare Gestione IIS per configurare gli utenti windows autorizzati che possono pubblicare nel server Web ed eseguire WebDeploy.exe con tale account utente di Windows. Vedere Installazione e configurazione della distribuzione Web in IIS 8.0 o versioni successive. Se usi credenziali basate su password, assicurati di utilizzare una password complessa e di evitarne la perdita o la condivisione.
(Facoltativo) Eseguire la distribuzione pubblicando in una cartella locale
È possibile usare questa opzione per distribuire l'app se si vuole copiare l'app in IIS usando PowerShell, RoboCopy o si desidera copiare manualmente i file.
Configurare il sito Web ASP.NET Core nel computer Windows Server
Se si importano le impostazioni di pubblicazione, è possibile ignorare questa sezione.
Aprire il Gestione servizi Internet (IIS) e passare a Siti.
Fare clic con il pulsante destro del mouse sul nodo sito Web predefinito e selezionare Aggiungi applicazione.
Impostare il campo Alias su MyASPApp e il campo Pool di Applicazioni su Nessun Codice Gestito. Impostare il percorso fisico su C:\Publish (in cui successivamente si distribuisce il progetto ASP.NET Core).
Con il sito selezionato in Gestione IIS, scegliere Modifica autorizzazionie assicurarsi che IUSR, IIS_IUSRS o che l'utente configurato per il pool di applicazioni sia un utente autorizzato con diritti Lettura & Esecuzione.
Se uno di questi utenti non viene visualizzato con accesso, seguire la procedura per aggiungere IUSR come utente con diritti di lettura & Esecuzione.
Importante
Per informazioni sulla sicurezza correlate agli account predefiniti, vedere Understanding Built-In User and Group Accounts in IIS 7.
(Facoltativo) Pubblicare e distribuire l'app pubblicando in una cartella locale da Visual Studio
Se non si usa Distribuzione Web, è necessario pubblicare e distribuire l'app usando il file system o altri strumenti. Per iniziare, è possibile creare un pacchetto usando il file system e quindi distribuire il pacchetto manualmente o usare altri strumenti come PowerShell, Robocopy o XCopy. In questa sezione si presuppone che il pacchetto venga copiato manualmente se non si usa Distribuzione Web.
Nell'Esplora soluzioni , fare clic con il pulsante destro del mouse sul nodo del progetto e selezionare Pubblica (per Web Forms, Pubblica App Web).
Se in precedenza sono stati configurati profili di pubblicazione, viene visualizzato il riquadro Pubblica. Fare clic su Nuovo profilo.
Nella finestra di dialogo Publish, selezionare Cartella, fare clic su Sfogliae creare una nuova cartella C:\Publish.
Fare clic su Fine per salvare il profilo di pubblicazione.
Fare clic su Fine per salvare il profilo di pubblicazione.
Passare a una configurazione di debug.
Scegliere Modifica per modificare il profilo e quindi scegliere Impostazioni. Scegliere una configurazione di Debug e quindi scegliere Rimuovi file aggiuntivi alla destinazione nelle opzioni di Pubblicazione dei file.
Nota
Se si usa una build di rilascio, si disabilita il debug nel file web.config durante la pubblicazione.
Fare clic su Pubblica.
L'applicazione pubblica un debug configurazione del progetto nella cartella locale. Lo stato di avanzamento viene visualizzato nella finestra Output.
Copiare la directory del progetto ASP.NET dal computer Visual Studio nella directory locale configurata per l'app ASP.NET (in questo esempio C:\Publish) nel computer Windows Server. In questa esercitazione si presuppone che si stia copiando manualmente, ma è possibile usare altri strumenti come PowerShell, Xcopy o Robocopy.
Cautela
Se è necessario apportare modifiche al codice o alla ricompilazione, è necessario ripubblicare e ripetere questo passaggio. Il file eseguibile copiato nel computer remoto deve corrispondere esattamente all'origine locale e ai simboli. Se non si esegue questa operazione, verrà visualizzato un avviso
cannot find or open the PDB file
in Visual Studio quando si tenta di eseguire il debug del processo.In Windows Server verificare che sia possibile eseguire correttamente l'app aprendo l'app nel browser.
Se l'app non viene eseguita correttamente, potrebbe verificarsi una mancata corrispondenza tra la versione di ASP.NET installata nel server e il computer di Visual Studio oppure potrebbe verificarsi un problema con la configurazione del sito Web o IIS. Ricontrollare i passaggi precedenti.
Scaricare e installare gli strumenti remoti in Windows Server
Scaricare la versione degli strumenti remoti che corrisponde alla versione di Visual Studio.
Nel dispositivo remoto o nel server in cui si vuole eseguire il debug, anziché nel computer di Visual Studio, scaricare e installare la versione corretta degli strumenti remoti dai collegamenti nella tabella seguente.
- Scaricare l'aggiornamento più recente degli strumenti remoti per la versione di Visual Studio. Le versioni precedenti degli strumenti remoti non sono compatibili con le versioni successive di Visual Studio. Ad esempio, se si usa Visual Studio 2019, scaricare l'aggiornamento più recente degli strumenti remoti per Visual Studio 2019. In questo scenario non scaricare gli strumenti remoti per Visual Studio 2022.
- Scaricare gli strumenti remoti con la stessa architettura del computer in cui si stanno installando. Ad esempio, se si vuole eseguire il debug di applicazioni x86 in un computer remoto che esegue un sistema operativo x64, installare gli strumenti remoti x64. Per eseguire il debug di applicazioni x86, ARM o x64 in un sistema operativo ARM64, installare gli strumenti remoti ARM64.
Versione | Collegamento | Note |
---|---|---|
Visual Studio 2022 | Strumenti remoti | Compatibile con tutte le versioni di Visual Studio 2022. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Nelle versioni precedenti di Windows Server, vedere sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2019 | Strumenti remoti | Gli strumenti remoti per Visual Studio 2019 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials oppure accedi con l'ID abbonamento di Visual Studio. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Nelle versioni precedenti di Windows Server, vedere Sblocca il download del file per ottenere aiuto con il download degli strumenti remoti. |
Visual Studio 2017 | Strumenti remoti | Gli strumenti remoti per Visual Studio 2017 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials, oppure accedi con l'ID della sottoscrizione di Visual Studio. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Su Windows Server, vedi Sblocca il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2015 | Strumenti remoti | Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito di Visual Studio Dev Essentials oppure accedi utilizzando l'ID di abbonamento di Visual Studio. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2013 | Strumenti remoti | Pagina di download nella documentazione di Visual Studio 2013 |
Visual Studio 2012 | Strumenti remoti | Pagina di download nella documentazione di Visual Studio 2012 |
Versione | Collegamento | Note |
---|---|---|
Visual Studio 2019 | Strumenti remoti | Compatibile con tutte le versioni di Visual Studio 2019. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. Per la versione più recente degli strumenti remoti, aprire il documento Visual Studio 2022. |
Visual Studio 2017 | Strumenti remoti | Compatibile con tutte le versioni di Visual Studio 2017. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Su Windows Server, vedi come sbloccare il download dei file per informazioni sul download degli strumenti remoti. |
Visual Studio 2015 | Strumenti remoti | Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipa al programma gratuito Visual Studio Dev Essentials oppure accedi con l'ID di sottoscrizione di Visual Studio. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2013 | Strumenti remoti | Pagina di download nella documentazione di Visual Studio 2013 |
Visual Studio 2012 | Strumenti remoti | Pagina di download nella documentazione di Visual Studio 2012 |
È possibile eseguire il debugger remoto copiando msvsmon.exe nel computer remoto, anziché installando gli strumenti remoti. Tuttavia, la Configurazione Guidata del Debugger Remoto (rdbgwiz.exe) è disponibile solo quando si installano gli strumenti remoti. Potrebbe essere necessario usare la procedura guidata per la configurazione se si vuole eseguire il debugger remoto come servizio. Per altre informazioni, vedere (facoltativo) Configurare il debugger remoto come servizio.
Nota
- Per eseguire il debug di app di Windows 10 o versioni successive nei dispositivi ARM, usare ARM64, disponibile con la versione più recente degli strumenti remoti.
- Per eseguire il debug delle app di Windows 10 nei dispositivi Windows RT, usare ARM, disponibile solo nel download degli strumenti remoti di Visual Studio 2015.
- Per eseguire il debug di app x64 in un sistema operativo ARM64, eseguire il msvsmon.exe x64 installato con gli strumenti remoti ARM64.
Configurare il debugger remoto in Windows Server
Nel computer remoto, individuare e avviare il debugger remoto dal menu Start.
Se non si dispone delle autorizzazioni amministrative nel computer remoto, fare clic con il pulsante destro del mouse sull'app debugger remoto e selezionare Esegui come amministratore. In caso contrario, inizialo normalmente.
Se si prevede di connettersi a un processo in esecuzione come amministratore o in esecuzione con un account utente diverso, ad esempio IIS, fare clic con il pulsante destro del mouse sull'app Debugger remoto e selezionare Esegui come amministratore. Per maggiori dettagli, consulta Esegui il debugger remoto come amministratore.
La prima volta che si avvia il debugger remoto (o prima di averlo configurato), viene visualizzata la procedura guidata di configurazione del debug remoto.
Nella maggior parte degli scenari scegliere Avanti finché non si arriva alla pagina Configura windows Firewall della procedura guidata.
Se l'API di Servizi Web Windows non è installata, che si verifica solo in Windows Server 2008 R2, selezionare il pulsante Installa.
Selezionare almeno un tipo di rete su cui si vogliono usare gli strumenti remoti. Se i computer sono connessi tramite un dominio, è necessario scegliere il primo elemento. Se i computer sono connessi tramite un gruppo di lavoro o un gruppo home, scegliere il secondo o il terzo elemento in base alle esigenze.
Selezionare quindi Fine per avviare il debugger remoto.
Selezionare quindi Configura debug remoto per avviare il debugger remoto.
Al termine della configurazione, viene visualizzata la finestra Debugger remoto.
Il debugger remoto è ora in attesa di una connessione. Usare il nome del server e il numero di porta visualizzati per impostare la configurazione della connessione remota in Visual Studio.
Per arrestare il debugger remoto, seleziona File>Esci. È possibile riavviarlo dal menu Start o dalla riga di comando:
<Remote debugger installation directory>\msvsmon.exe
Nota
Se è necessario aggiungere autorizzazioni per altri utenti, modificare la modalità di autenticazione o il numero di porta per il debugger remoto, vedere Configurare il debugger remoto.
Connettersi all'applicazione ASP.NET Core dal computer di Visual Studio
A partire da Visual Studio 2022 versione 17.10 Preview 2, la finestra di dialogo Aggancia a processo è stata modificata. Se sono necessarie istruzioni che corrispondono alla finestra di dialogo precedente, passare alla visualizzazione Visual Studio 2019 (selettore della versione superiore sinistra nell'articolo).
Nel computer di Visual Studio aprire la soluzione di cui si sta tentando di eseguire il debug (MyASPApp se si seguono tutti i passaggi descritti in questo articolo).
In Visual Studio selezionare Debug > Collega al processo (CTRL+ ALT+P).
Suggerimento/Mancia
In Visual Studio 2017 e versioni successive è possibile ricollegare lo stesso processo a cui è stato precedentemente collegato usando Debug > Ricollega a processo... (MAIUSC + ALT + P).
Impostare il tipo di connessione a Remoto (Windows).
Viene visualizzata l'opzione destinazione connessione.
Impostare la destinazione connessione su <nome computer remoto> e premere INVIO.
Verificare che Visual Studio aggiunga la porta richiesta al nome del computer, che appare nel formato: <computer remoto nome>:port
In Visual Studio 2022 verrà visualizzato <nome computer remoto>:4026
La porta è obbligatoria. Se non viene visualizzato il numero di porta, aggiungerlo manualmente.
Nel computer di Visual Studio aprire la soluzione di cui si sta tentando di eseguire il debug (MyASPApp se si seguono tutti i passaggi descritti in questo articolo).
In Visual Studio selezionare Debug > Collega al processo (CTRL+ ALT+P).
Suggerimento
In Visual Studio 2017 e versioni successive è possibile ricollegare lo stesso processo a cui è stato precedentemente collegato usando Debug > Ricollega a processo... (MAIUSC + ALT + P).
Impostare il campo Qualificatore su <nome computer remoto> e premere Invio.
Verificare che Visual Studio aggiunga la porta richiesta al nome del computer, che appare nel formato: <nome computer remoto>:port
In Visual Studio 2019 verrà visualizzato il nome del computer remoto><:4024
La porta è obbligatoria. Se non viene visualizzato il numero di porta, aggiungerlo manualmente.
Selezionare Aggiorna.
Dovresti vedere alcuni processi apparire nella finestra processi disponibili.
Se non vengono visualizzati processi, provare a usare l'indirizzo IP anziché il nome del computer remoto (la porta è obbligatoria). È possibile usare
ipconfig
in una riga di comando per ottenere l'indirizzo IPv4.Se si vuole usare il pulsante trova, potrebbe essere necessario aprire la porta UDP 3702 in uscita sul server.
Selezionare Mostra processi da tutti gli utenti.
Digitare la prima lettera del nome del processo per trovare rapidamente l'app.
Se si usa il modello di hosting in-process in IIS, selezionare il processo di w3wp.exe corretto. A partire da .NET Core 3, questo processo è l'impostazione predefinita.
In caso contrario, selezionare il processo dotnet.exe. ** Si tratta del modello di hosting out-of-process, ovvero un hosting esterno al processo.
Se sono presenti più processi che mostrano w3wp.exe o dotnet.exe, controllare la colonna nome utente. In alcuni scenari, la colonna nome utente mostra il nome del pool di app, ad esempio IIS APPPOOL\DefaultAppPool. Se viene visualizzato il pool di app, ma non è univoco, creare un nuovo pool di app denominato per l'istanza dell'app di cui si vuole eseguire il debug e quindi trovarlo facilmente nella colonna nome utente.
Seleziona e Allegato.
Aprire il sito Web del computer remoto. In un browser, vai all'indirizzo http://<nome del computer remoto>.
Verrà visualizzata la pagina Web ASP.NET.
Nell'applicazione ASP.NET in esecuzione selezionare il collegamento alla pagina Privacy.
Il punto di interruzione deve essere raggiunto in Visual Studio.
Se non è possibile collegarsi o raggiungere il punto di interruzione, vedere Risolvere i problemi di debug remoto.
Risoluzione dei problemi relativi alla distribuzione di IIS
- Se non è possibile connettersi all'host usando il nome host, provare invece l'indirizzo IP.
- Assicurarsi che le porte necessarie siano aperte nel server remoto.
- Per ASP.NET Core, è necessario assicurarsi che il campo Pool di applicazioni per il DefaultAppPool sia impostato su Nessun codice gestito.
- Verificare che la versione di ASP.NET usata nell'app corrisponda alla versione installata nel server. Puoi visualizzare e impostare la versione per l'app nella pagina Proprietà. Per impostare l'app su una versione diversa, è necessario installare tale versione.
- Se l'app ha provato ad aprirsi, ma viene visualizzato un avviso del certificato, scegli di fidarti del sito. Se l'avviso è già stato chiuso, è possibile modificare il profilo di pubblicazione, un file *.pubxml, nel progetto e aggiungere l'elemento seguente (solo per il test):
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- Dopo la distribuzione, avviare l'app in IIS per verificare che sia stata distribuita correttamente.
- Controllare la finestra Output in Visual Studio per informazioni sullo stato e controllare i messaggi di errore.
Aprire le porte richieste su Windows Server
Nella maggior parte delle configurazioni, le porte richieste vengono aperte dall'installazione di ASP.NET e dal debugger remoto. Tuttavia, se si stanno risolvendo i problemi di distribuzione e l'app è ospitata dietro un firewall, potrebbe essere necessario verificare che le porte corrette siano aperte.
In una macchina virtuale di Azure è necessario aprire le porte tramite:
- Il gruppo di sicurezza di rete .
- Il firewall su Windows Server
Porte obbligatorie:
- 80 - Obbligatorio per IIS
- 4026 - Obbligatorio per il debug remoto da Visual Studio 2022 (vedere Remote Debugger Port Assignments per altre informazioni).
- 4024 - Obbligatorio per il debug remoto da Visual Studio 2019 (vedere Remote Debugger Port Assignments per altre informazioni).
- UDP 3702 - (facoltativo) La porta di individuazione consente di utilizzare il pulsante Trova quando ci si collega al debugger remoto in Visual Studio. Deve trattarsi di una porta in uscita (regola in uscita).
Inoltre, queste porte devono essere già aperte dall'installazione di ASP.NET Core:
- 8172 - (facoltativo) Obbligatorio per la distribuzione Web per distribuire l'app da Visual Studio