Configurare Windows Firewall per il debug remoto

In una rete protetta da Windows Firewall, il firewall deve essere configurato per consentire il debug remoto. Visual Studio e gli strumenti di debug remoto tentano di aprire le porte del firewall corrette durante l'installazione o l'avvio, ma potrebbe anche essere necessario aprire porte o consentire le app manualmente.

Questo argomento descrive come configurare Windows Firewall per abilitare il debug remoto in Windows 10, 8/8.1 e 7; e i computer Windows Server 2012 R2, 2012 e 2008 R2. Non è necessario che Visual Studio e il computer remoto eseguano lo stesso sistema operativo. Ad esempio, il computer Visual Studio può eseguire Windows 11 e il computer remoto può eseguire Windows Server 2012 R2.

Nota

Le istruzioni per la configurazione di Windows Firewall differiscono leggermente in sistemi operativi diversi e per le versioni precedenti di Windows. Le impostazioni di Windows 8/8.1, Windows 10 e versioni successive e Windows Server 2012 usano la parola app, mentre Windows 7 e Windows Server 2008 usano il programma word.

Configurare le porte per il debug remoto

Visual Studio e il debugger remoto tentano di aprire le porte corrette durante l'installazione o l'avvio. In alcuni scenari, ad esempio un firewall di terze parti, potrebbe essere necessario aprire manualmente le porte.

Per aprire una porta:

  1. Nel menu Start di Windows cercare e aprire Windows Firewall con sicurezza avanzata. A partire da Windows 10, si tratta di Windows Defender Firewall con sicurezza avanzata.

  2. Per una nuova porta in ingresso, selezionare Regole in ingresso e quindi nuova regola. Per una regola in uscita, selezionare Invece Regole in uscita.

  3. Nella Creazione guidata nuova regola in ingresso selezionare Porta e quindi selezionare Avanti.

  4. Selezionare TCP o UDP, a seconda del numero di porta delle tabelle seguenti.

  5. In Porte locali specifiche immettere un numero di porta nelle tabelle seguenti e selezionare Avanti.

  6. Selezionare Consenti Connessione ion e quindi selezionare Avanti.

  7. Selezionare uno o più tipi di rete da abilitare, incluso il tipo di rete per la connessione remota, quindi selezionare Avanti.

  8. Aggiungere un nome per la regola, ad esempio msvsmon, IIS o Distribuzione Web, quindi selezionare Fine.

    La nuova regola deve essere visualizzata e selezionata nell'elenco Regole in ingresso o Regole in uscita.

Per aprire una porta tramite PowerShell:

Per Windows Firewall, è possibile usare i comandi di PowerShell, ad esempio New-NetFirewallRule.

Nell'esempio seguente viene aperta la porta 4026 per il debugger remoto nel computer remoto. La porta e il percorso da usare potrebbero essere diversi.

New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4026 -Protocol TCP -Authentication Required -Action Allow

Nell'esempio seguente viene aperta la porta 4024 per il debugger remoto nel computer remoto. Il percorso da usare potrebbe essere diverso.

New-NetFirewallRule -DisplayName "msvsmon" -Direction Inbound -Program "Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe" -LocalPort 4024 -Protocol TCP -Authentication Required -Action Allow

Porte nel computer remoto che abilitano il debug remoto

Per il debug remoto, è necessario aprire le porte seguenti nel computer remoto:

Porte In ingresso/in uscita Protocollo Descrizione
4026 In ingresso TCP Per Visual Studio 2022. Per altre informazioni, vedere Assegnazioni delle porte del debugger remoto di Visual Studio.
4025 In ingresso TCP Per Visual Studio 2022 e Il servizio Microsoft app Azure. Questa porta viene usata solo per eseguire il debug remoto di un processo a 32 bit da una versione a 64 bit del debugger remoto. Per altre informazioni, vedere Assegnazioni delle porte del debugger remoto di Visual Studio.
4024 In ingresso TCP Per il servizio Microsoft app Azure. Per altre informazioni, vedere Assegnazioni delle porte del debugger remoto di Visual Studio.
3702 In uscita UDP (Facoltativo) Obbligatorio per l'individuazione remota del debugger.
Porte In ingresso/in uscita Protocollo Descrizione
4024 In ingresso TCP Per Visual Studio 2019 e il servizio Microsoft app Azure. Il numero di porta viene incrementato di 2 per ogni versione di Visual Studio. Per altre informazioni, vedere Assegnazioni delle porte del debugger remoto di Visual Studio.
4025 In ingresso TCP Per Visual Studio 2019 e il servizio app Azure. Questa porta viene usata solo per eseguire il debug remoto di un processo a 32 bit da una versione a 64 bit del debugger remoto. Per altre informazioni, vedere Assegnazioni delle porte del debugger remoto di Visual Studio.
3702 In uscita UDP (Facoltativo) Obbligatorio per l'individuazione remota del debugger.

Se si seleziona Usa modalità di compatibilità gestita in Strumenti>Opzioni>debug, aprire queste porte aggiuntive del debugger remoto. La modalità di compatibilità gestita del debugger abilita una versione legacy di Visual Studio 2010 del debugger.

Porte In ingresso/in uscita Protocollo Descrizione
135, 139, 445 In uscita TCP Obbligatorio.
137, 138 In uscita UDP Obbligatorio.

Se i criteri di dominio richiedono l'esecuzione delle comunicazioni di rete tramite Internet Protocol Security (IPSec), è necessario aprire porte aggiuntive sia in Visual Studio che nei computer remoti. Per eseguire il debug in un server Web IIS remoto, aprire la porta 80 nel computer remoto.

Porte In ingresso/in uscita Protocollo Descrizione
500, 4500 In uscita UDP Necessario se i criteri del dominio richiedono che la comunicazione di rete avvenga tramite IPSec.
80 In uscita TCP Richiesto per il debug di server Web.

Per consentire app specifiche tramite Windows Firewall, vedere Configurare il debug remoto tramite Windows Firewall.

Consentire il debugger remoto tramite Windows Firewall

Quando si configura il debugger remoto, il software di configurazione deve aprire le porte corrette. Tuttavia, in alcuni scenari potrebbe essere necessario consentire manualmente il debugger remoto tramite il firewall.

Per consentire il debugger remoto tramite Windows Firewall:

  1. Nel menu Start di Windows cercare e aprire Windows Firewall o Windows Defender Firewall.

  2. Selezionare Consenti un'app tramite Windows Firewall.

  3. Se Debugger remoto o Debugger remoto di Visual Studio non viene visualizzato in App e funzionalità consentite, selezionare Modifica impostazioni e quindi selezionare Consenti un'altra app.

  4. Se l'app debugger remoto non è ancora elencata nella finestra di dialogo Aggiungi un'app , selezionare Sfoglia e passare alla <directory> di installazione di Visual Studio\Common7\IDE\Remote Debugger\<x86, x64 o Appx>, a seconda dell'architettura appropriata per l'app. Selezionare msvsmon.exe e quindi selezionare Aggiungi.

  5. Nell'elenco App selezionare il debugger remoto appena aggiunto. Selezionare Tipi di rete e quindi selezionare uno o più tipi di rete, incluso il tipo di rete per la connessione remota.

  6. Selezionare Aggiungi e quindi OK.

Risolvere i problemi relativi alla connessione di debug remoto

Se non è possibile connettersi all'app con il debugger remoto, assicurarsi che le porte, i protocolli, i tipi di rete e le impostazioni del firewall di debug remoto siano tutti corretti.

  • Nel menu Start di Windows cercare e aprire Windows Firewall e selezionare Consenti un'app tramite Windows Firewall. Assicurarsi che Debugger remoto o Debugger remoto di Visual Studio venga visualizzato nell'elenco App e funzionalità consentite con una casella di controllo selezionata e che siano selezionati i tipi di rete corretti. In caso contrario, aggiungere le app e le impostazioni corrette.

  • Nel menu Start di Windows cercare e aprire Windows Firewall con sicurezza avanzata. Assicurarsi che Debugger remoto o Debugger remoto di Visual Studio venga visualizzato in Regole in ingresso (e facoltativamente, Regole in uscita) con un'icona di segno di spunta verde e che tutte le impostazioni siano corrette.

    • Per visualizzare o modificare le impostazioni della regola, fare clic con il pulsante destro del mouse sull'app Debugger remoto nell'elenco e scegliere Proprietà. Usare le schede Proprietà per abilitare o disabilitare la regola oppure modificare numeri di porta, protocolli o tipi di rete.
    • Se l'app debugger remoto non viene visualizzata nell'elenco delle regole, aggiungere e configurare le porte corrette.