Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Vous pouvez déboguer des applications ASP.NET et ASP.NET Core dans Visual Studio. Le processus diffère entre ASP.NET et ASP.NET Core, et que vous l’exécutez sur IIS Express ou sur un serveur IIS local.
Remarque
Les étapes et paramètres suivants s’appliquent uniquement au débogage d’applications sur un serveur local. Le débogage d’applications sur un serveur IIS distant utilise Attacher au processus et ignore ces paramètres. Pour plus d’informations et d’instructions sur le débogage à distance d'ASP.NET et d'ASP.NET Core, consultez Débogage distant ASP.NET Core sur un ordinateur IIS distant, et Débogage à distance du service Azure App.
Les serveurs Kestrel et IIS Express intégrés sont inclus dans Visual Studio. Kestrel est le serveur de débogage par défaut pour les projets ASP.NET Core et est préconfiguré. IIS Express est le serveur de débogage par défaut pour ASP.NET.
Le serveur IIS Express intégré est inclus dans Visual Studio. IIS Express est le serveur de débogage par défaut pour les projets ASP.NET et ASP.NET Core, et est préconfiguré. Il s’agit du moyen le plus simple de déboguer, et idéal pour le débogage et les tests initiaux.
Pour ASP.NET Core, vous pouvez également déboguer sur le serveur web Kestrel.
Conditions préalables pour le serveur IIS local
Vous pouvez également déboguer une application ASP.NET ou ASP.NET Core sur un serveur IIS local (version 8.0 ou ultérieure) configuré pour exécuter l’application. Pour déboguer sur IIS local, vous devez répondre aux exigences suivantes :
Si elle n’est pas installée, installez la charge de travail ASP.NET et de développement web. (Réexécutez Visual Studio Installer, sélectionnez Modifier, puis ajoutez cette charge de travail.)
Exécutez Visual Studio en tant qu’administrateur.
Installez et configurez correctement IIS avec la ou les versions appropriées de ASP.NET et/ou ASP.NET Core. Pour plus d’informations sur l’utilisation d’IIS avec ASP.NET Core, consultez Host ASP.NET Core sur Windows avec IIS. Pour ASP.NET, consultez Installer IIS et ASP.NET Modules.
Vérifiez que l’application s’exécute sur IIS et s’ouvre dans le navigateur.
Déboguer des applications ASP.NET Core
Un profil par défaut nommé https ou un profil basé sur le nom du projet peut être présent, qui sont configurés pour le serveur web Kestrel. Si vous effectuez un débogage sur un serveur IIS local, assurez-vous de répondre aux conditions préalables pour un débogage IIS local.
Sélectionnez le projet ASP.NET Core dans l’Explorateur de solutions Visual Studio , puis cliquez sur l’icône propriétés, ou appuyez sur Alt+Entrer, ou cliquez avec le bouton droit sur Propriétés.
Sélectionnez l’onglet Déboguer, puis cliquez sur le lien pour ouvrir l’interface utilisateur Ouvrir les profils de lancement de débogage.
L’interface utilisateur présentée correspond aux paramètres du fichier
launchSettings.jsondu projet. Pour plus d’informations sur ce fichier, consultez la section Développement etlaunchSettings.jsondans Utiliser plusieurs environnements dans ASP.NET Core.Sélectionnez le profil à configurer pour le débogage.
- Pour Kestrel, sélectionnez le profil https ou le profil nommé après le projet.
- Pour IIS Express, sélectionnez iis Express dans la liste déroulante.
- Pour IIS local, sélectionnez Nouveau et créez un profil IIS.
Vérifiez que Lancer le navigateur est sélectionné.
Vérifiez que URL, URL de l'applicationet URL SSL de l'application sont correctes.
Url spécifie l’emplacement de l’URL d’hôte pour .NET Core ou .NET 5+. Pour un profil nommé après le projet (autrement dit, la propriété commandName dans
launchSettings.jsonest Project), le serveur Kestrel écoute le port spécifié. Pour un profil IIS, il s’agit généralement de la même valeur que l’URL de l’application . Pour plus d’informations, consultez la section profil de lancement IIS sous Configurer le projet.L’URL de l’application et l’URL SSL de l’application spécifient la ou les URL de l’application.
- Pour un profil https, la propriété URL de l’application est généralement
https://localhost:7241;http://localhost:5175. - Pour un profil portant le nom du projet, ces propriétés sont généralement
http://localhost:5000ethttps://localhost:5001. - Pour IIS Express, l’URL SSL de l’application est généralement
https://localhost:44334.
- Pour un profil https, la propriété URL de l’application est généralement
Sous Variables d’environnement, assurez-vous que ASPNETCORE_ENVIRONMENT est présent avec la valeur Développement. Si ce n’est pas le cas, ajoutez la variable.

Pour plus d’informations sur les variables d’environnement, consultez Environnements.
Pour déboguer l’application, dans votre projet, définissez des points d’arrêt sur du code. Dans la barre d’outils Visual Studio, vérifiez que la configuration est définie sur Déboguer.
Pour démarrer le débogage, sélectionnez le nom du profil dans la barre d’outils, par exemple https, IIS Expressou <nom de profil IIS> dans la barre d’outils, sélectionnez Démarrer le débogage dans le menu de débogage, ou appuyez sur F5. Le débogueur s’arrête aux points d’arrêt. Si le débogueur ne peut pas atteindre les points d’arrêt, consultez Résoudre les problèmes de débogage.
Déboguer des applications ASP.NET Core
IIS Express est la valeur par défaut et est préconfiguré. Si vous effectuez un débogage sur le serveur IIS local, assurez-vous que vous répondez aux exigences pour le débogage IIS local.
Sélectionnez le projet ASP.NET Core dans l’Explorateur de solutions Visual Studio , puis cliquez sur l’icône propriétés, ou appuyez sur Alt+Entrer, ou cliquez avec le bouton droit sur Propriétés.
Sélectionnez l’onglet Débogage.
Dans le volet Propriétés , à côté de Profil ,
- Pour IIS Express, sélectionnez iis Express dans la liste déroulante.
- Pour IIS local, sélectionnez le nom de l’application dans la liste déroulante, ou sélectionnez Nouveau, créez un nom de profil, puis sélectionnez OK.
À côté de Launch, sélectionnez IIS Express ou IIS dans la liste déroulante.
Vérifiez que Lancer le navigateur est sélectionné.
Sous Variables d’environnement, assurez-vous que ASPNETCORE_ENVIRONMENT est présent avec la valeur Développement. Si ce n’est pas le cas, sélectionnez Ajouter et ajoutez-le.

Utilisez fichier>Enregistrer les éléments sélectionnés ou Ctrl+S pour enregistrer les modifications.
Pour déboguer l’application, dans votre projet, définissez des points d’arrêt sur du code. Dans la barre d’outils Visual Studio, vérifiez que la configuration est définie sur Debug, et que IIS Express, ou le nouveau nom du profil IIS, apparaît dans le champ de l'émulateur.
Pour démarrer le débogage, sélectionnez iis Express ou <nom de profil IIS> dans la barre d’outils, sélectionnez Démarrer le débogage dans le menu de débogage, ou appuyez sur F5. Le débogueur s’arrête aux points d’arrêt. Si le débogueur ne peut pas atteindre les points d’arrêt, consultez Résoudre les problèmes de débogage.
Déboguer des applications ASP.NET
IIS Express est la valeur par défaut et est préconfiguré. Si vous effectuez un débogage sur le serveur IIS local, assurez-vous que vous répondez aux exigences pour le débogage IIS local.
Sélectionnez le projet ASP.NET dans l’Explorateur de solutions Visual Studio et cliquez sur l’icône Propriétés, ou appuyez sur Alt+Entrée, ou cliquez avec le bouton droit et choisissez Propriétés.
Sélectionnez l’onglet Web.
Si l’onglet Web n’est pas affiché, consultez Déboguer des applications ASP.NET Core. L’onglet Web s’affiche uniquement pour ASP.NET Framework.
Dans le volet Propriétés, sous Serveurs,
- Pour Kestrel, sélectionnez https dans la liste déroulante.
- Pour IIS Express, sélectionnez iis Express dans la liste déroulante.
- Pour IIS local,
- ** Sélectionnez Local IIS dans la liste déroulante.
- En regard du champ URL du projet, sélectionnez Créer un répertoire virtuel, si vous n’avez pas encore configuré l’application dans IIS.
Sous Débogueurs, sélectionnez ASP.NET.

Choisissez Fichier>Enregistrer les éléments sélectionnés (ou appuyez sur Ctrl+S) pour enregistrer les modifications.
Pour déboguer l’application, dans votre projet, définissez des points d’arrêt sur du code. Dans la barre d’outils de Visual Studio, vérifiez que la configuration est définie sur déboguer, et que le navigateur souhaité s’affiche dans IIS Express (<Nom du navigateur>) ou LOCAL IIS (<Nom du navigateur>) dans le champ de l’émulateur.
Pour démarrer le débogage, sélectionnez IIS Express (<Browser name>) ou Local IIS (<Browser name>) dans la barre d’outils, sélectionnez Démarrer le débogage dans le menu Déboguer, ou appuyez sur F5. Le débogueur s’arrête aux points d’arrêt. Si le débogueur ne peut pas atteindre les points d’arrêt, consultez Résoudre les problèmes de débogage.
Résoudre les problèmes de débogage
Si le débogage IIS local ne peut pas progresser jusqu’au point d’arrêt, procédez comme suit pour résoudre les problèmes.
Démarrez l’application web à partir d’IIS et vérifiez qu’elle s’exécute correctement. Laissez l’application web tourner.
Dans Visual Studio, sélectionnez Déboguer > Attacher au processus ou appuyez sur Ctrl+Alt+P, puis connectez-vous au processus ASP.NET ou ASP.NET Core (généralement w3wp.exe ou dotnet.exe). Pour plus d’informations, consultez Attacher au processus et Comment trouver le nom du processus ASP.NET.
Si vous pouvez vous connecter et atteindre le point d’arrêt à l’aide d’Attacher au processus, mais pas en utilisant Déboguer>Démarrer le débogage ou F5, un paramètre est probablement incorrect dans les propriétés du projet. Si vous utilisez un fichier HOSTS, vérifiez qu’il est également configuré correctement.
Configurer le débogage dans le fichier web.config
Les projets ASP.NET ont par défaut des fichiers web.config, qui contiennent à la fois des informations de configuration et de lancement de l'application, y compris les paramètres de débogage. Les fichiers web.config doivent être configurés correctement pour le débogage. Les paramètres Propriétés dans les sections précédentes mettent à jour les fichiers web.config, mais vous pouvez également les configurer manuellement.
Remarque
ASP.NET projets Principaux n’ont pas initialement de fichiers web.config, mais utilisez des fichiers appsettings.json et launchSettings.json pour la configuration de l’application et les informations de lancement. Le déploiement de l’application crée un fichier ou des fichiers web.config dans le projet, mais ils ne contiennent généralement pas d’informations de débogage.
Conseil
Votre processus de déploiement peut mettre à jour les paramètres de web.config. Avant d’essayer de déboguer, vérifiez que le web.config est configuré pour le débogage.
Pour configurer manuellement un fichier web.config pour le débogage :
Dans Visual Studio, ouvrez le fichier
web.configdu projet ASP.NET.Web.configest un fichier XML. Il contient donc des sections imbriquées marquées par des balises. Recherchez la sectionconfiguration/system.web/compilation. (Si l’élémentcompilationn’existe pas, créez-le.)Vérifiez que l’attribut
debugdans l’élémentcompilationest défini surtrue. (Si l’élémentcompilationne contient pas d’attributdebug, ajoutez-le et définissez-le surtrue.)Si vous utilisez IIS local au lieu du serveur IIS Express par défaut, vérifiez que la valeur d’attribut
targetFrameworkdans l’élémentcompilationcorrespond à l’infrastructure sur le serveur IIS.L’élément
compilationdu fichierweb.configdoit ressembler à l’exemple suivant :Remarque
Cet exemple est un fichier
web.configpartiel. Il existe généralement des sections XML supplémentaires dans les élémentsconfigurationetsystem.web, et l’élémentcompilationpeut également contenir d’autres attributs et éléments.<configuration> ... <system.web> <compilation debug="true" targetFramework="4.6.1" ... > ... </compilation> </system.web> </configuration>
ASP.NET détecte automatiquement les modifications apportées aux fichiers web.config et applique les nouveaux paramètres de configuration. Vous n’avez pas besoin de redémarrer l’ordinateur ou le serveur IIS pour que les modifications prennent effet.
Un site web peut contenir plusieurs répertoires virtuels et sous-répertoires, avec des fichiers web.config dans chacun d’eux. Les applications ASP.NET héritent des paramètres de configuration des fichiers web.config aux niveaux supérieurs du chemin d'URL. Les paramètres du fichier hiérarchique web.config s'appliquent à toutes les applications ASP.NET situées en dessous dans la hiérarchie. La définition d’une autre configuration dans un fichier web.config inférieur dans la hiérarchie remplace les paramètres dans le fichier supérieur.
Par exemple, si vous spécifiez debug="true" dans www.microsoft.com/aaa/web.config, une application dans le dossier aaa ou dans un sous-dossier de aaa hérite de ce paramètre, sauf si l’une de ces applications remplace le paramètre par son propre fichier web.config.
Important
Le mode débogage réduit considérablement les performances de votre application. Lorsque vous déployez une application de production ou effectuez des mesures de performances, définissez debug="false" dans le web.config et spécifiez une build Release.
Contenu connexe
- Débogage ASP.NET : configuration requise
- Procédure : exécuter le processus de travail sous un compte d’utilisateur
- Comment : rechercher le nom du processus de ASP.NET
- Déboguer des applications web déployées
- Guide pratique pour déboguer des exceptions ASP.NET
- Déboguer des applications web : erreurs et dépannage