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 app Azure Servizio.
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.
Avviso
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 Finestra Avvio file>per aprire la finestra Start e quindi scegliere Crea un nuovo progetto. Nella casella di ricerca digitare app Web, quindi scegliere C# come linguaggio, quindi scegliere ASP.NET Core Web Application (Model-View-Controller) e quindi scegliere Avanti. Nella schermata successiva assegnare al progetto il nome MyASPApp e quindi scegliere Avanti.
Scegliere il framework di destinazione consigliato o .NET 8 e quindi scegliere 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;
nelPrivacy
metodo .Nei modelli precedenti aprire il file Privacy.cshtml.cs e impostare un punto di interruzione nel
OnGet
metodo .
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 passando a Internet Options Security Trusted Sites Sites .Add the trusted sites by going to Internet Options > Security Trusted Sites Sites>.> 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. L'aggregazione installa il runtime di .NET Core, la libreria di .NET Core e il modulo ASP.NET Core. Per istruzioni più dettagliate, vedere Pubblicazione in IIS.
Per il bundle di hosting di .NET Core corrente, 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, installare l'hosting di Windows Server .NET Core.
Nota
Se nel sistema non è presente una connessione a Internet, ottenere e installare Microsoft Visual C++ 2015 Redistributable prima di installare l'aggregazione di Hosting di .NET Core Windows Server.
Riavviare il sistema o eseguire net stop was /y seguito da net start w3svc da un prompt dei comandi per visualizzare 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 da un metodo preferito in una cartella dell'app preparata in 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 Connessioni selezionare Pool di applicazioni. Aprire DefaultAppPool e impostare la versione CLR .NET 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
Distribuzione Web offre funzionalità di configurazione aggiuntive che consentono la creazione del file delle impostazioni di pubblicazione dall'interfaccia utente.
Nota
Il programma di installazione della piattaforma Web ha raggiunto la fine della vita 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.
Installare Strumenti e script di gestione IIS, se non lo si è ancora fatto.
Passare a Selezione ruoli server>Server Web (IIS)>Strumenti di gestione e quindi selezionare il ruolo Strumenti e script di gestione IIS, fare clic su Avanti e quindi installare il ruolo.
Gli script e gli strumenti sono necessari per consentire la generazione del file delle impostazioni di pubblicazione.
Assicurarsi di installare anche il servizio di gestione e la console di gestione IIS (potrebbero essere già installati).
In Windows Server scaricare Distribuzione Web 4.0.
Eseguire il programma di installazione distribuzione Web e assicurarsi di selezionare Completa installazione anziché un'installazione tipica.
Con un'installazione completa, si ottengono i componenti necessari per generare un file di impostazioni di pubblicazione. (Se si sceglie È invece possibile visualizzare l'elenco dei componenti, come illustrato nella figura seguente.
(Facoltativo) Verificare che Distribuzione Web sia in esecuzione correttamente aprendo Pannello di controllo > Servizi strumenti > di amministrazione del sistema e della sicurezza > e quindi verificare che:
Il servizio agente di distribuzione Web è in esecuzione (il nome del servizio è diverso nelle versioni precedenti).
Servizio di gestione Web in esecuzione.
Se uno dei servizi agente non è in esecuzione, riavviare il servizio agente di distribuzione Web.
Se il servizio Agente distribuzione Web non è affatto presente, passare a Pannello di controllo > Programmi > Disinstalla un programma, trovare La versione> di <Distribuzione Web Microsoft. Scegliere di modificare l'installazione e assicurarsi di scegliere Installazione su disco rigido locale per i componenti di Distribuzione Web. Completare la procedura di modifica dell'installazione di modifica.
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 su Sito Web predefinito, quindi scegliere Distribuisci>Abilita pubblicazione Distribuzione Web.
Se non viene visualizzato il menu Distribuisci , vedere la sezione precedente per verificare che Distribuzione Web sia in esecuzione.
Nella finestra di dialogo Abilita pubblicazione Distribuzione Web esaminare le impostazioni.
Fare clic su Impostazioni.
Nel riquadro Risultati l'output indica che i diritti di accesso vengono concessi all'utente specificato e che è stato generato un file con estensione publishsettings nella posizione indicata 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 vengono visualizzati valori diversi nel file XML. Di seguito sono riportati alcuni dettagli sui valori visualizzati:
Il file msdeploy.axd al quale si fa riferimento nell'attributo
publishUrl
è un file gestore HTTP generato dinamicamente per Distribuzione Web. Ai fini dei test, in genere è possibile usare anchehttp://myhostname:8172
.La porta
publishUrl
è impostata sulla porta 8172, il valore predefinito per Distribuzione Web.La porta
destinationAppUrl
è impostata sulla porta 80, il valore predefinito 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 sono stati configurati dei 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.
Passare al percorso del file delle impostazioni di pubblicazione creato nella sezione precedente.
Nella finestra di dialogo Importa file impostazioni di pubblicazione passare a e selezionare il profilo creato nella sezione precedente e fare clic su Apri.
Fare clic 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.
Quando la distribuzione è completata, l'app viene 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 di debug e quindi selezionare Rimuovi file aggiuntivi nella destinazione nelle opzioni Pubblicazione file.
- Selezionare Modifica per modificare il profilo e quindi selezionare Impostazioni.
- Selezionare Salva e quindi ripubblicare l'app.
- Selezionare una configurazione di debug e quindi selezionare Rimuovi file aggiuntivi nella destinazione nelle opzioni Pubblicazione file.
Avviso
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 versione successiva. Se si usano le credenziali della password, assicurarsi di usare una password complessa e proteggere la password dalla perdita o dalla 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 Gestione Internet Information Services (IIS) e andare in Siti.
Fare clic con il pulsante destro del mouse sul nodo Sito Web predefinito e scegliere 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 autorizzazioni e assicurarsi che IUSR, IIS_IUSRS o l'utente configurato per il pool di applicazioni sia un utente autorizzato con diritti lettura ed esecuzione.
Se uno di questi utenti non viene visualizzato con accesso, seguire la procedura per aggiungere IUSR come utente con diritti di lettura ed esecuzione.
Importante
Per informazioni sulla sicurezza relative agli account predefiniti, vedere Informazioni sugli account utente e gruppi predefiniti 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.
Nel Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Pubblica (per Web Form, Pubblica app Web).
Se sono stati configurati dei profili di pubblicazione, viene visualizzato il riquadro Pubblica. Fare clic su Nuovo profilo.
Nella finestra di dialogo Pubblica selezionare Cartella, fare clic su Sfoglia e creare una nuova cartella, C:\Pubblica.
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 nella destinazione nelle opzioni Pubblicazione 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 una configurazione debug 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.
Attenzione
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, si riceverà un
cannot find or open the PDB file
avviso 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 | Collega | Note |
---|---|---|
Visual Studio 2022 | Remote Tools | 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, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2019 | Remote Tools | Gli strumenti remoti per Visual Studio 2019 sono disponibili da My.VisualStudio.com. Se richiesto, partecipare al programma Visual Studio Dev Essentials gratuito o accedere con l'ID sottoscrizione di Visual Studio. Scaricare la versione corrispondente al sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. Nelle versioni precedenti di Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2017 | Remote Tools | Gli strumenti remoti per Visual Studio 2017 sono disponibili da My.VisualStudio.com. Se richiesto, partecipare al programma Visual Studio Dev Essentials gratuito o accedere con l'ID sottoscrizione di Visual Studio. 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. |
Visual Studio 2015 | Remote Tools | Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipare al programma Visual Studio Dev Essentials gratuito o accedere con l'ID sottoscrizione di Visual Studio. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2013 | Remote Tools | Pagina di download nella documentazione di Visual Studio 2013 |
Visual Studio 2012 | Remote Tools | Pagina di download nella documentazione di Visual Studio 2012 |
Versione | Collega | Note |
---|---|---|
Visual Studio 2019 | Remote Tools | 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 la documentazione di Visual Studio 2022. |
Visual Studio 2017 | Remote Tools | Compatibile con tutte le versioni di Visual Studio 2017. 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. |
Visual Studio 2015 | Remote Tools | Gli strumenti remoti per Visual Studio 2015 sono disponibili da My.VisualStudio.com. Se richiesto, partecipare al programma Visual Studio Dev Essentials gratuito o accedere con l'ID sottoscrizione di Visual Studio. In Windows Server, vedi Sbloccare il download del file per informazioni sul download degli strumenti remoti. |
Visual Studio 2013 | Remote Tools | Pagina di download nella documentazione di Visual Studio 2013 |
Visual Studio 2012 | Remote Tools | 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 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 trovare e avviare Remote Debugger 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 scegliere 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 altre informazioni, vedere Eseguire il debugger remoto come amministratore.
La prima volta che si avvia il debugger remoto (o prima di averla configurata), viene visualizzata la configurazione guidata debug remoto.
Nella maggior parte degli scenari scegliere Avanti fino a visualizzare la 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, selezionare Uscita file>. È 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 Connetti 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 provando a eseguire il debug (MyASPApp se si seguono tutti i passaggi descritti in questo articolo).
In Visual Studio selezionare Debug > Connetti a processo (CTRL+ALT+P).
Suggerimento
In Visual Studio 2017 e versioni successive è possibile ricollegare lo stesso processo a cui è stato precedentemente collegato usando Debug > Ricollegamento a processo... (MAIUSC + ALT + P).
Impostare Tipo di connessione su Remoto (Windows).Set the Connection Type to Remote (Windows).
Viene visualizzata l'opzione Destinazione connessione.
Impostare Destinazione connessione su< nome> computer remoto e premere INVIO.
Verificare che Visual Studio aggiunga la porta richiesta al nome del computer, visualizzato nel formato: <nome> computer remoto:p ort
In Visual Studio 2022 dovrebbe essere visualizzato <il 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 provando a eseguire il debug (MyASPApp se si seguono tutti i passaggi descritti in questo articolo).
In Visual Studio selezionare Debug > Connetti a processo (CTRL+ALT+P).
Suggerimento
In Visual Studio 2017 e versioni successive è possibile ricollegare lo stesso processo a cui è stato precedentemente collegato usando Debug > Ricollegamento 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, visualizzato nel formato: <nome> computer remoto:p ort
In Visual Studio 2019 dovrebbe essere visualizzato <il nome> computer remoto:4024
La porta è obbligatoria. Se non viene visualizzato il numero di porta, aggiungerlo manualmente.
Selezionare Aggiorna.
Nella finestra Processi disponibili verranno visualizzati alcuni processi.
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 nel server.
Selezionare Mostra i processi di 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 di dotnet.exe . Si tratta del modello di hosting out-of-process.
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 Allega.
Aprire il sito Web del computer remoto. In un browser passare a http://< nome> computer.
Verrà visualizzata la pagina Web ASP.NET.
Nell'applicazione ASP.NET in esecuzione selezionare il collegamento alla pagina Privacy .
Il punto di interruzione verrà 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 DefaultAppPool sia impostato su Nessun codice gestito.
- Verificare che la versione di ASP.NET usata nell'app corrisponda alla versione installata nel server. Per la tua app, puoi visualizzare e impostare la versione nella pagina Proprietà . Per impostare l'app su una versione diversa, è necessario installare tale versione.
- Se l'app ha tentato di aprire, ma viene visualizzato un avviso del certificato, scegliere di considerare attendibile il 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 necessarie in 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:
- Gruppo di sicurezza di rete.
- Il firewall in Windows Server
Porte obbligatorie:
- 80 - Obbligatorio per IIS
- 4026 - Obbligatorio per il debug remoto da Visual Studio 2022 .Per altre informazioni, vedere Remote Debugger Port Assignments (Assegnazioni porte del debugger remoto).
- 4024 - Obbligatorio per il debug remoto da Visual Studio 2019 .Per altre informazioni, vedere Remote Debugger Port Assignments (Assegnazioni porte del debugger remoto).
- UDP 3702 - (facoltativo) La porta di individuazione consente di accedere al pulsante Trova quando 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