Déboguer ASP.NET Core à distance sur IIS à l’aide d’une machine virtuelle Azure à partir de Visual Studio
Ce guide explique comment définir et configurer une application Visual Studio ASP.NET Core, la déployer sur IIS avec une machine virtuelle Azure et attacher le débogueur distant à partir de Visual Studio.
Pour les scénarios IIS, Linux n’est pas pris en charge.
Pour déboguer IIS sur une machine virtuelle Azure, suivez les étapes décrites dans cet article. À l’aide de cette méthode, vous pouvez utiliser une configuration personnalisée d’IIS, mais les étapes d’installation et de déploiement sont plus compliquées. Si vous n’avez pas besoin de personnaliser IIS pour votre scénario, vous pouvez choisir des méthodes plus simples pour héberger et déboguer l’application dans Azure App Service à la place.
Pour une machine virtuelle Azure, vous devez déployer votre application à partir de Visual Studio vers Azure et installer manuellement le rôle IIS et le débogueur distant, comme montré dans l’illustration suivante.
Avertissement
Veillez à supprimer les ressources Azure que vous créez une fois que vous avez effectué les étapes décrites dans ce tutoriel. De cette façon, vous pouvez éviter d’encourir des frais inutiles.
Ces procédures ont été testées sur ces configurations de serveur :
- Windows Server 2022 et IIS 10
- Windows Server 2019 et IIS 10
- Windows Server 2016 et IIS 10
Prérequis
Visual Studio 2019 ou une version ultérieure est nécessaire pour suivre les étapes présentées dans cet article.
Configuration réseau
Le débogage entre deux ordinateurs connectés via un proxy n’est pas pris en charge. Le débogage via une connexion à haute latence ou à faible bande passante, telle qu’Internet à accès commuté, ou via un réseau Internet entre pays/régions n’est pas recommandé et peut échouer ou présenter des lenteurs inacceptables. Pour obtenir la liste complète des exigences, consultez Exigences.
L’application est-elle déjà en cours d’exécution dans IIS sur la machine virtuelle Azure ?
Cet article inclut les étapes de la mise en place d’une configuration IIS de base sur un serveur Windows et du déploiement de l’application à partir de Visual Studio. Ces étapes sont incluses pour s’assurer que les composants nécessaires sont installés sur le serveur, que l’application peut fonctionner correctement, et que vous êtes prêt à déboguer à distance.
Si votre application est exécutée dans IIS et que vous souhaitez simplement télécharger le débogueur à distance et commencer le débogage, accédez à Télécharger et installer les outils à distance sur Windows Server.
Si vous souhaitez obtenir de l’aide pour vous assurer que votre application est configurée, déployée et fonctionne correctement dans IIS afin que vous puissiez la déboguer, suivez toutes les étapes décrites dans cette rubrique.
Avant de commencer, suivez toutes les étapes décrites dans Créer une machine virtuelle Windows, qui inclut les étapes d’installation du serveur web IIS.
Veillez à ouvrir le port 80 dans le groupe de sécurité réseau Azure. Lorsque vous vérifiez que le port 80 est ouvert, ouvrez également le port approprié pour le débogueur distant (4026, 4024 ou 4022). De cette façon, vous n’aurez pas à l’ouvrir plus tard. Si vous utilisez Web Deploy, ouvrez également le port 8172.
Créer l’application ASP.NET Core sur l’ordinateur Visual Studio
Créez une application web ASP.NET Core.
Dans Visual Studio, choisissez Fichier>Fenêtre Démarrer pour ouvrir la fenêtre Démarrer, puis choisissez Créer un projet. Dans la zone de recherche, tapez application web, choisissez C# comme langage, puis choisissez Application web ASP.NET Core (modèle-vue-contrôleur), puis Suivant. Dans l’écran suivant, nommez le projet MyASPApp, puis choisissez Suivant.
Choisissez l’infrastructure cible recommandée ou .NET 8, puis sélectionnez Créer. La version doit correspondre à celle installée sur le serveur.
Ouvrez le fichier HomeController.cs dans le dossier Manettes et définissez un point d’arrêt dans l’instruction
return View;
dans la méthodePrivacy
.Dans les modèles plus anciens, ouvrez le fichier Privacy.cshtml.cs et définissez un point d’arrêt dans la méthode
OnGet
.
Mettez à jour les paramètres de sécurité du navigateur sur Windows Server
Si vous utilisez une version plus ancienne de Windows Server, il est possible que vous deviez ajouter certains domaines en tant que sites de confiance pour pouvoir télécharger certains composants du serveur web. Ajoutez les sites fiables en allant dans Options Internet > Sécurité > Sites fiables > Sites. Ajoutez les domaines suivants.
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
Lorsque vous téléchargez le logiciel, il se peut que l’on vous demande d’autoriser le chargement de divers scripts et ressources de sites web. Certaines de ces ressources ne sont pas requises, mais pour simplifier le processus, sélectionnez Ajouter lorsque vous y êtes invité.
Installer ASP.NET Core sur Windows Server
Installez le bundle d’hébergement .NET Core sur le système hôte. Le bundle installe le Runtime .NET Core, la bibliothèque .NET Core et le Module ASP.NET Core. Pour obtenir des instructions plus détaillées, consultez Publication sur IIS.
Pour le bundle d’hébergement .NET Core actuel, installez le bundle d’hébergement ASP.NET Core.
Remarque
Si vous avez installé IIS au préalable, le module IIS ASP.NET Core est installé avec ASP.NET Core. Sinon, installez manuellement le module IIS ASP.NET Core.
Pour .NET Core 2, installez le .bundle d’hébergement NET Core Windows Server.
Notes
Si le système n’a pas de connexion Internet, obtenez et installez Microsoft Visual C++ 2015 Redistributable avant d’installer le bundle d’hébergement .NET Core Windows Server.
Redémarrez le système ou exécutez net stop was /y suivi de net start w3svc à partir d’une invite de commandes pour prendre en compte une modification de la variable système PATH.
Choisir une option de déploiement
Si vous avez besoin d’aide pour déployer l’application sur IIS, considérez les options suivantes :
Déployez en créant un fichier de paramètres de publication dans IIS et en important les paramètres dans Visual Studio. Dans certains scénarios, cette approche est un moyen rapide de déployer votre application. Lorsque vous créez le fichier de paramètres de publication, les autorisations sont automatiquement configurées dans IIS.
Déployez en publiant dans un dossier local et en copiant la sortie par une méthode préférée dans un dossier d’application préparé sur IIS.
(Facultatif) Déployez à l’aide d’un fichier de paramètres de publication
Vous pouvez utiliser cette option pour créer un fichier de paramètres de publication et l’importer dans Visual Studio.
Notes
Cette méthode de déploiement utilise Web Deploy, qui doit être installé sur le serveur. Si vous souhaitez configurer Web Deploy manuellement au lieu d’importer les paramètres, vous pouvez installer Web Deploy 3.6 au lieu de Web Deploy 3.6 pour les serveurs d’hébergement. Mais si vous configurez Web Deploy manuellement, vous devez vous assurer qu’un dossier d’application sur le serveur est configuré avec les valeurs et autorisations appropriées (voir Configurer le site web ASP.NET).
Configurer le site web ASP.NET Core
Sous Connexions dans le volet gauche d’IIS Manager, sélectionnez Pools d’applications. Ouvrez DefaultAppPool et définissez la version CLR .NET sur Aucun code managé. C’est obligatoire pour ASP.NET Core. Le site web par défaut utilise DefaultAppPool.
Arrêtez et redémarrez DefaultAppPool.
Installer et configurer Web Deploy sur Windows Server
Web Deploy fournit des fonctionnalités de configuration supplémentaires qui permettent de créer le fichier de paramètres de publication à partir de l’interface utilisateur.
Notes
Web Platform Installer est arrivé en fin de vie le 01/07/22. Pour plus d’informations, consultez Web Platform Installer - Fin du support et retrait du flux produit/application. Vous pouvez installer directement Web Deploy 4.0 pour créer le fichier de paramètres de publication.
Si vous n’avez pas encore installé les Scripts et outils de gestion IIS, faites-le maintenant.
Accédez à Sélectionner des rôles de serveurs>Serveur web (IIS)>Outils de gestion, sélectionnez le rôle Scripts et outils de gestion IIS, cliquez sur Suivant, puis installez le rôle.
Les scripts et les outils sont nécessaires pour permettre la génération du fichier de paramètres de publication.
Veillez également à installer le Service de gestion et la Console de gestion IIS (ils peuvent déjà être installés).
Sur Windows Server, téléchargez Web Deploy 4.0.
Exécutez le programme d’installation Web Deploy et veillez à sélectionner une installation Complète au lieu d’une installation classique.
Une fois l’installation terminée, vous obtenez les composants dont vous avez besoin pour générer un fichier de paramètres de publication. (Si vous choisissez Personnalisé à la place, vous pouvez voir la liste des composants, comme montré dans l’illustration suivante.)
(Facultatif) Vérifiez que Web Deploy s’exécute correctement en ouvrant Panneau de configuration > Système et sécurité > Outils d’administration > Services, puis en vérifiant que :
Le Service agent de déploiement web est en cours d’exécution (le nom du service est différent dans les versions antérieures).
Le Service de gestion web est en cours d’exécution.
Si l’un des services d’agent n’est pas en cours d’exécution, redémarrez le service agent de déploiement web.
Si le service agent de déploiement web n’est pas présent, accédez à Panneau de configuration > Programmes > Désinstaller un programme, recherchez Microsoft Web Deploy <version>. Choisissez Changer l’installation et veillez à choisir Sera installé sur le disque dur local pour les composants Web Deploy. Effectuez les étapes relatives au changement de l’installation.
Créer le fichier de paramètres de publication dans IIS sur Windows Server
Fermez et rouvrez la console de gestion IIS pour afficher les options de configuration mises à jour dans l’IU.
Dans IIS, cliquez avec le bouton droit sur le site web par défaut, choisissez Déployer>Activer la publication Web Deploy.
Si vous ne voyez pas le menu Déployer, consultez la section précédente pour vérifier que Web Deploy est en cours d’exécution.
Dans la boîte de dialogue Activer la publication Web Deploy, examinez les paramètres.
Cliquez sur Setup.
Dans le panneau Résultats, la sortie indique que les droits d’accès sont accordés à l’utilisateur spécifié et qu’un fichier ayant l’extension .publishsettings a été généré à l’emplacement indiqué dans la boîte de dialogue.
<?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>
En fonction de votre configuration Windows Server et IIS, vous voyez des valeurs distinctes dans le fichier XML. Voici quelques détails sur les valeurs que vous voyez :
Le fichier msdeploy.axd référencé dans l’attribut
publishUrl
est un fichier de gestionnaire HTTP généré dynamiquement pour Web Deploy. (À des fins de test,http://myhostname:8172
fonctionne également, en règle générale.)Le port
publishUrl
a la valeur 8172, ce qui correspond au port par défaut de Web Deploy.Le port
destinationAppUrl
a la valeur 80, ce qui correspond au port par défaut d’IIS.Dans les étapes suivantes, si vous ne parvenez pas à vous connecter à l’hôte distant dans Visual Studio en utilisant le nom d’hôte, testez l’adresse IP du serveur à la place du nom d’hôte.
Notes
Si vous publiez sur IIS s’exécutant sur une machine virtuelle Azure, vous devez ouvrir un port entrant pour Web Deploy et IIS dans le groupe de sécurité réseau. Pour plus d’informations, consultez Ouvrir des ports sur une machine virtuelle.
Copiez ce fichier sur l’ordinateur où vous exécutez Visual Studio.
Importer les paramètres de publication dans Visual Studio et déployer
Sur l’ordinateur sur lequel le projet ASP.NET est ouvert dans Visual Studio, cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis choisissez Publier.
Si vous avez déjà configuré des profils de publication, le volet Publier s’affiche. Cliquez sur Nouveau ou Créer un nouveau profil.
Sélectionnez l’option permettant d’importer un profil.
Dans la boîte de dialogue Publier, cliquez sur Importer un profil.
Accédez à l’emplacement du fichier de paramètres de publication que vous avez créé dans la section précédente.
Dans la boîte de dialogue Importer le fichier de paramètres de publication, accédez au profil que vous avez créé dans la section précédente et sélectionnez-le, puis cliquez sur Ouvrir.
Cliquez sur Terminer pour enregistrer le profil de publication, puis sur Publier.
Visual Studio commence le processus de déploiement, tandis que la fenêtre Sortie affiche la progression et les résultats.
Si vous obtenez des erreurs de déploiement, cliquez sur Plus d’actions>Modifier pour modifier les paramètres. Modifiez les paramètres, puis cliquez sur Valider pour tester les nouveaux paramètres. Si le nom d’hôte est introuvable, essayez l’adresse IP au lieu du nom d’hôte dans les champs Serveur et URL de destination.
Remarque
Si vous redémarrez une machine virtuelle Azure, l’adresse IP peut changer.
Une fois l’application déployée, elle doit démarrer automatiquement.
- Si l’application ne démarre pas après le déploiement, démarrez l’application dans IIS pour vérifier qu’elle s’exécute correctement.
- Pour ASP.NET Core, vérifiez que le champ Pool d’applications pour DefaultAppPool est défini sur Aucun code managé.
Lorsque vous êtes prêt(e), basculez vers une configuration de débogage.
Important
Si vous choisissez de déboguer une configuration de mise en production, vous désactivez le débogage dans le fichier web.config lorsque vous publiez.
- Sélectionnez Autres options>Modifier pour modifier le profil, puis sélectionnez Paramètres.
- Sélectionnez Enregistrer, puis republiez l’application.
- Sélectionnez une configuration de débogage, puis sélectionnez Supprimer les fichiers supplémentaires à la destination sous les options Publier le fichier.
- Sélectionnez Modifier pour modifier le profil, puis sélectionnez Paramètres.
- Sélectionnez Enregistrer, puis republiez l’application.
- Sélectionnez une configuration de débogage, puis sélectionnez Supprimer les fichiers supplémentaires à la destination sous les options Publier le fichier.
(Facultatif) Déployez en publiant dans un dossier local
Vous pouvez utiliser cette option pour déployer votre application si vous souhaitez copier l’application sur IIS à l’aide de PowerShell, RoboCopy, ou si vous souhaitez copier manuellement les fichiers.
Configurer le site web ASP.NET Core Web sur l’ordinateur Windows Server
Si vous importez des paramètres de publication, vous pouvez ignorer cette section.
Ouvrez le Gestionnaire des services Internet (IIS) .et accédez à Sites.
Cliquez avec le bouton droit sur le nœud Site web par défaut et sélectionnez Ajouter une application.
Définissez le champ Alias sur MyASPApp et le champ Pool d’applications sur Aucun code managé. Définissez le Chemin d’accès physique sur C:\Publish (où vous déploierez ultérieurement le projet ASP.NET Core).
Avec le site sélectionné dans le Gestionnaire IIS, choisissez Modifier les autorisations et vérifiez que IUSR, IIS_IUSRS ou l’utilisateur configuré pour le pool d’applications est un utilisateur autorisé disposant de droits de lecture et d’exécution.
Si vous ne voyez pas l’un de ces utilisateurs ayant accès, procédez comme suit pour ajouter IUSR en tant qu’utilisateur avec des droits de lecture et d’exécution.
(Facultatif) Publier et déployer l’application en publiant dans un dossier local à partir de Visual Studio
Si vous n’utilisez pas Web Deploy, vous devez publier et déployer l’application à l’aide du système de fichiers ou d’autres outils. Vous pouvez commencer par créer un package à l’aide du système de fichiers, puis déployer le package manuellement ou utiliser d’autres outils tels que PowerShell, Robocopy ou XCopy. Dans cette section, nous partons du principe que vous copiez manuellement le package si vous n’utilisez pas Web Deploy.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud de projet et sélectionnez Publier (pour Web Forms, Publier une application web).
Si vous avez déjà configuré des profils de publication, le volet Publier s’affiche. Cliquez sur Nouveau profil.
Dans la boîte de dialogue Publier, sélectionnez Dossier, cliquez sur Parcourir, puis créez un nouveau dossier C:\Publish.
Cliquez sur Terminer pour enregistrer le profil de publication.
Cliquez sur Terminer pour enregistrer le profil de publication.
Basculez vers une configuration de débogage.
Choisissez Modifier pour modifier le profil, puis sélectionnez Paramètres. Choisissez une configuration de Débogage, puis choisissez Supprimer des fichiers supplémentaires à la destination sous les options de Publication de fichiers.
Notes
Si vous utilisez une build de mise en production, vous désactivez le débogage dans le fichier web.config lorsque vous publiez.
Cliquez sur Publier.
L’application publie une configuration de Débogage du projet dans le dossier local. La progression s’affiche dans la fenêtre Sortie.
Copiez le répertoire du projet ASP.NET à partir de l’ordinateur Visual Studio vers le répertoire local configuré pour l’application ASP.NET (dans cet exemple, C:\Publish) sur l’ordinateur Windows Server. Dans ce tutoriel, nous supposons que vous copiez le répertoire manuellement, mais vous pouvez utiliser d’autres outils tels que PowerShell, Xcopy ou Robocopy.
Attention
Si vous devez modifier ou regénérer le code, vous devez republier et répéter cette étape. Le fichier exécutable que vous avez copié sur l’ordinateur distant doit correspondre exactement à la source et aux symboles locaux. Si vous ne le faites pas, vous recevrez un avertissement
cannot find or open the PDB file
dans Visual Studio lorsque vous tentez de déboguer le processus.Sur Windows Server, vérifiez que vous pouvez exécuter l’application correctement en l’ouvrant dans votre navigateur.
Si l’application ne s’exécute pas correctement, il peut y avoir une incompatibilité entre la version de ASP.NET installée sur votre serveur et votre ordinateur Visual Studio, ou vous avez peut-être un problème de configuration de site web ou IIS. Revérifiez les étapes précédentes.
Téléchargez et installez les outils à distance sur Windows Server
Téléchargez la version des outils à distance qui correspondent à votre version de Visual Studio.
Sur l’appareil ou le serveur distant sur lequel vous souhaitez déboguer, plutôt que sur l’ordinateur Visual Studio, téléchargez et installez la version correcte des outils de contrôle à distance à partir des liens du tableau suivant.
- Téléchargez la mise à jour la plus récente des outils distants pour votre version de Visual Studio. Les versions antérieures des outils distants ne sont pas compatibles avec les versions ultérieures de Visual Studio. (Par exemple, si vous utilisez Visual Studio 2019, téléchargez la dernière mise à jour des outils de contrôle à distance pour Visual Studio 2019. Dans ce scénario, ne téléchargez pas les outils de contrôle à distance pour Visual Studio 2022.)
- Téléchargez les outils de contrôle à distance dotés de la même architecture que l’ordinateur sur lequel vous les installez. Par exemple, si vous souhaitez déboguer des applications x86 sur un ordinateur distant exécutant un système d’exploitation x64, installez les outils de contrôle à distance x64. Pour déboguer des applications x86, ARM ou x64 sur un système d’exploitation ARM64, installez les outils à distance ARM64.
Version | Lien | Remarques |
---|---|---|
Visual Studio 2022 | outils de contrôle à distance. | Compatible avec toutes les versions de Visual Studio 2022. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 (AMD64) ou ARM64). Sur les versions plus anciennes de Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2019 | outils de contrôle à distance. | Les outils de contrôle à distance pour Visual Studio 2019 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit ou connectez-vous avec votre ID d’abonnement Visual Studio. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 (AMD64) ou ARM64). Sur les versions plus anciennes de Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2017 | outils de contrôle à distance. | Les outils de contrôle à distance pour Visual Studio 2017 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit ou connectez-vous avec votre ID d’abonnement Visual Studio. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2015 | outils de contrôle à distance. | Les outils de contrôle à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit ou connectez-vous avec votre ID d’abonnement Visual Studio. Sur Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2013 | outils de contrôle à distance. | Page de téléchargement dans la documentation de Visual Studio 2013 |
Visual Studio 2012 | outils de contrôle à distance. | Page de téléchargement dans la documentation de Visual Studio 2012 |
Version | Lien | Remarques |
---|---|---|
Visual Studio 2019 | outils de contrôle à distance. | Compatible avec toutes les versions de Visual Studio 2019. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. Pour obtenir la version la plus récente des outils de contrôle à distance, ouvrez la documentation de Visual Studio 2022. |
Visual Studio 2017 | outils de contrôle à distance. | Compatible avec toutes les versions de Visual Studio 2017. Téléchargez la version correspondant au système d’exploitation de votre appareil (x86, x64 (AMD64) ou ARM64). Sur Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2015 | outils de contrôle à distance. | Les outils de contrôle à distance pour Visual Studio 2015 sont disponibles à partir de My.VisualStudio.com. Si vous y êtes invité, rejoignez le programme Visual Studio Dev Essentials gratuit ou connectez-vous avec votre ID d’abonnement Visual Studio. Sur Windows Server, consultez Débloquer le téléchargement de fichier pour obtenir de l’aide sur le téléchargement des outils de contrôle à distance. |
Visual Studio 2013 | outils de contrôle à distance. | Page de téléchargement dans la documentation de Visual Studio 2013 |
Visual Studio 2012 | outils de contrôle à distance. | Page de téléchargement dans la documentation de Visual Studio 2012 |
Vous pouvez exécuter le débogueur distant en copiant msvsmon.exe sur l’ordinateur distant, au lieu d’installer les outils de contrôle à distance. Toutefois, l’Assistant Configuration Remote Debugger (rdbgwiz.exe) n’est disponible que lorsque vous installez les outils de contrôle à distance. Vous devrez peut-être utiliser l’Assistant pour la configuration si vous souhaitez exécuter le débogueur distant en tant que service. Pour plus d’informations, consultez (Facultatif) Configurer le débogueur distant en tant que service.
Notes
- Pour déboguer des applications Windows 10 ou version ultérieure sur des appareils ARM, utilisez ARM64, qui est disponible avec la dernière version des outils de contrôle à distance.
- Pour déboguer des applications Windows 10 sur des appareils Windows RT, utilisez ARM, qui est disponible uniquement dans le téléchargement des outils de contrôle à distance de Visual Studio 2015.
- Pour déboguer des applications x64 sur un système d’exploitation ARM64, exécutez le fichier msvsmon.exe x64 installé avec les outils à distance ARM64.
Configurez le débogueur distant sur Windows Server
Sur l’ordinateur distant, recherchez et démarrez le Débogueur distant à partir du menu Démarrer.
Si vous ne disposez pas d’autorisations d’administration sur l’ordinateur distant, cliquez avec le bouton droit sur l’application Débogueur distant et sélectionnez Exécuter en tant qu’administrateur. Sinon, il suffit de le démarrer normalement.
Si vous envisagez d’attacher à un processus qui s’exécute en tant qu’administrateur ou qui s’exécute sous un autre compte d’utilisateur (par exemple IIS), cliquez avec le bouton droit sur l’application Débogueur distant et sélectionnez Exécuter en tant qu’administrateur. Pour plus d’informations, consultez Exécuter le débogueur distant en tant qu’administrateur.
La première fois que vous démarrez le débogueur distante (ou avant de l’avoir configuré), l’Assistant Configuration du débogage distant s’affiche.
Dans la plupart des scénarios, choisissez Suivant jusqu’à ce que vous accédiez à la page configurer le Pare-feu Windows de l’Assistant.
Si l’API des services Web Windows n’est pas installée, ce qui se produit uniquement sur Windows Server 2008 R2, sélectionnez le bouton Installer.
Sélectionnez au moins un type de réseau sur lequel vous souhaitez utiliser les outils de contrôle à distance. Si les ordinateurs sont connectés à un domaine, vous devez choisir le premier élément. Si les ordinateurs sont connectés via un groupe de travail ou un groupe résidentiel, choisissez le deuxième ou troisième élément, selon les besoins.
Ensuite, sélectionnez Terminer pour démarrer le débogueur distant.
Ensuite, sélectionnez Configurer le débogage à distance pour démarrer le débogueur distant.
Une fois la configuration terminée, la fenêtre Débogueur distant s’affiche.
Le débogueur distant est maintenant en attente d’une connexion. Utilisez le nom du serveur et le numéro de port indiqués pour définir la configuration de la connexion à distance dans Visual Studio.
Pour arrêter le débogueur distant, sélectionnezFichier>Quitter. Vous pouvez le redémarrer à partir du menu Démarrer ou de la ligne de commande :
<Remote debugger installation directory>\msvsmon.exe
Notes
Si vous devez ajouter des autorisations pour des utilisateurs supplémentaires, modifiez le mode d’authentification ou le numéro de port du débogueur distant, consultez Configurer le débogueur distant.
Attachement à l’application ASP.NET Core à partir de l’ordinateur Visual Studio
À compter de Visual Studio 2022 version 17.10 Preview 2, la boîte de dialogue Attacher au processus a changé. Si vous avez besoin d’instructions correspondant à l’ancienne boîte de dialogue, ouvrez la vue Visual Studio 2019 (sélecteur de version dans le coin supérieur gauche dans l’article).
Sur l’ordinateur Visual Studio, ouvrez la solution que vous essayez de déboguer (MyASPApp si vous suivez toutes les étapes de cet article).
Dans Visual Studio, sélectionnez Déboguer > Attacher au processus (Ctrl + Alt + P).
Conseil
Dans Visual Studio 2017 et versions ultérieures, vous pouvez vous rattacher au même processus auquel vous avez précédemment attaché à l’aide des options Déboguer > Rattacher au processus... (Maj + Alt + P).
Définissez le Type de connexion sur À distance (Windows).
L’option Cible de connexion s’affiche.
Définissez la Cible de connexion sur le <nom de l’ordinateur distant>, puis appuyez sur Entrée.
Vérifiez que Visual Studio ajoute le port requis au nom de l’ordinateur, qui apparaît au format : <nom d’ordinateur distant>:port
Dans Visual Studio 2022, vous devriez voir <nom d’ordinateur distant>:4026
Le port est obligatoire. Si vous ne voyez pas le numéro de port, ajoutez-le manuellement.
Sur l’ordinateur Visual Studio, ouvrez la solution que vous essayez de déboguer (MyASPApp si vous suivez toutes les étapes de cet article).
Dans Visual Studio, sélectionnez Déboguer > Attacher au processus (Ctrl + Alt + P).
Conseil
Dans Visual Studio 2017 et versions ultérieures, vous pouvez vous rattacher au même processus auquel vous avez précédemment attaché à l’aide des options Déboguer > Rattacher au processus... (Maj + Alt + P).
Définissez le champ Qualificateur sur <nom_ordinateur_distant> et appuyez sur Entrée.
Vérifiez que Visual Studio ajoute le port requis au nom de l’ordinateur, qui apparaît au format : <nom d’ordinateur distant>:port
Sur Visual Studio 2019, vous devriez voir <nom d’ordinateur distant>:4024
Le port est obligatoire. Si vous ne voyez pas le numéro de port, ajoutez-le manuellement.
Cliquez sur Actualiser.
Des processus doivent s’afficher dans la fenêtre Processus disponibles .
Si vous ne voyez aucun processus, essayez d’utiliser l’adresse IP au lieu du nom de l’ordinateur distant (le port est requis). Vous pouvez utiliser
ipconfig
dans une ligne de commande pour obtenir l’adresse IPv4.Si vous souhaitez utiliser le bouton Rechercher, vous devrez peut-être ouvrir le port UDP sortant 3702 sur le serveur.
Cochez Afficher les processus de tous les utilisateurs.
Saisissez la première lettre du nom de votre processus pour trouver rapidement votre application.
Si vous utilisez le modèle d’hébergement in-process sur IIS, sélectionnez le processus w3wp.exe correct. À compter de .NET Core 3, il s’agit du processus par défaut.
Sinon, sélectionnez le processus dotnet.exe. (Il s’agit du modèle d’hébergement out-of-process.)
Si vous avez plusieurs processus montrant w3wp.exe ou dotnet.exe, vérifiez la colonne Nom d’utilisateur. Dans certains scénarios, la colonne Nom d’utilisateur affiche le nom de votre pool d’applications, par exemple IIS APPPOOL\DefaultAppPool. Si vous voyez le pool d’applications, mais qu’il n’est pas unique, créez un pool d’applications nommé pour l’instance d’application que vous souhaitez déboguer. Vous pourrez ainsi le trouver facilement dans la colonne Nom d’utilisateur.
Sélectionnez Joindre.
Ouvrez le site web de l’ordinateur distant. Dans un navigateur, accédez à http://<nom d’ordinateur distant>.
La page web ASP.NET doit s’afficher.
Dans l’application ASP.NET en cours d’exécution, sélectionnez le lien vers la page Confidentialité.
Le point d’arrêt doit être atteint dans Visual Studio.
Si vous ne parvenez pas à attacher ou à atteindre le point d’arrêt, consultez Résoudre les problèmes de débogage à distance.
Résolution des problèmes de déploiement IIS
- Si vous ne pouvez pas vous connecter à l’hôte avec le nom d’hôte, essayez plutôt l’adresse IP.
- Vérifiez que les ports obligatoires sont ouverts sur le serveur distant.
- Pour ASP.NET Core, vous devez vérifier que le champ Pool d’applications pour DefaultAppPool est défini sur Aucun code managé.
- Vérifiez que la version d’ASP.NET utilisée dans votre application est la même que la version que vous avez installée sur le serveur. Pour votre application, vous pouvez voir et définir la version dans la page Propriétés. Pour définir l’application sur une autre version, cette version doit être installée.
- Si l’application a tenté de s’ouvrir, mais que vous voyez un avertissement de certificat, choisissez de faire confiance au site. Si vous avez déjà fermé l'avertissement, vous pouvez modifier le profil de publication, un fichier *.pubxml, dans votre projet et ajouter l'élément suivant (à des fins de test uniquement) :
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- Une fois le déploiement effectué, démarrez l’application dans IIS pour vérifier qu’elle a été déployée correctement.
- Consultez les informations d’état dans la fenêtre Sortie dans Visual Studio, puis consultez vos messages d’erreur.
Ouvrez les ports requis sur Windows Server
Dans la plupart des configurations, les ports requis sont ouverts par l’installation de ASP.NET et du débogueur distant. Toutefois, si vous résolvez les problèmes de déploiement et que l’application est hébergée derrière un pare-feu, vous devrez peut-être vérifier que les ports appropriés sont ouverts.
Sur une machine virtuelle Azure, vous devez ouvrir les ports via :
Ports requis :
- 80 - Obligatoire pour IIS
- 4026 - Obligatoire pour le débogage à distance à partir de Visual Studio 2022 (consultez Affectations de port du débogueur distant pour plus d’informations).
- 4024 - Obligatoire pour le débogage à distance à partir de Visual Studio 2019 (voir Affectations de port du débogueur distant pour plus d’informations).
- UDP 3702 - (Facultatif) Le port de découverte vous permet d'utiliser le bouton Rechercher lors de l’attachement au débogueur distant dans Visual Studio. Vous devez choisir un port sortant (règle de trafic sortant).
En outre, ces ports devraient déjà être ouverts par l’installation d’ASP.NET Core :
- 8172 - (Facultatif) Requis pour que Web Deploy puisse déployer l’application à partir de Visual Studio