<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Visual Studio on Jérémie Litzler</title><link>https://jeremielitzler.fr/tags/visual-studio/</link><description>Recent content in Visual Studio on Jérémie Litzler</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Mon, 20 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jeremielitzler.fr/tags/visual-studio/index.xml" rel="self" type="application/rss+xml"/><item><title>Un piège avec IIS Express et le `Project Url`</title><link>https://jeremielitzler.fr/post/2026-07/piege-avec-iis-express-et-project-url/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>https://jeremielitzler.fr/post/2026-07/piege-avec-iis-express-et-project-url/</guid><description>&lt;img src="https://jeremielitzler.fr/post/2026-07/piege-avec-iis-express-et-project-url/2026-07-20-un-vrai-labyrinthe.jpg" alt="Featured image of post Un piège avec IIS Express et le `Project Url`" /&gt;&lt;p&gt;Si tu modifies le &lt;code&gt;Project Url&lt;/code&gt; dans les propriétés d’un projet WebApi pour ajouter &lt;code&gt;/swagger&lt;/code&gt; à un url, par exemple &lt;code&gt;https://localhost:44306/&lt;/code&gt;, puis que tu valides une modal qui apparait, mais que tu n’arrives plus à accéder à l’URL &lt;code&gt;/swagger/ui/index&lt;/code&gt;, c’est que la configuration de ton IIS Express à changer.&lt;/p&gt;
&lt;p&gt;Même après un retour en arrière sur le fichier &lt;code&gt;.csproj&lt;/code&gt;, le problème persiste.&lt;/p&gt;
&lt;p&gt;Regardons comment résoudre ce problème&lt;/p&gt;
&lt;h2 id="analyse-rapide"&gt;Analyse rapide
&lt;/h2&gt;&lt;p&gt;Quand tu procèdes à la modification du &lt;code&gt;Project Url&lt;/code&gt; dans la section « Web » des propriétés du projet, cela modifie la façon dont IIS Express (ou le serveur de développement) lance ton application, notamment le chemin de base.&lt;/p&gt;
&lt;p&gt;En ajoutant &lt;code&gt;/swagger&lt;/code&gt; dans le Project Url, tu changes la racine de l’application à &lt;code&gt;https://localhost:44306/swagger&lt;/code&gt; au lieu de &lt;code&gt;https://localhost:44306/&lt;/code&gt;. Cela implique que ton application est désormais servie sous &lt;code&gt;/swagger&lt;/code&gt; comme racine, donc l’URL complète pour Swagger pourrait ne plus être accessible comme avant.&lt;/p&gt;
&lt;p&gt;Visual Studio te demande de mettre à jour le fichier &lt;code&gt;.vs/config/applicationhost.config&lt;/code&gt; qui configure IIS Express, et cela a pu créer un binding spécial. La modale n’est pas aussi explicite que cela.&lt;/p&gt;
&lt;p&gt;Avoir modifié la valeur du &lt;code&gt;Project Url&lt;/code&gt; à modifier le &lt;code&gt;csproj&lt;/code&gt;, mais une annulation de la modification ne suffit pas à rétablir l’accès en local à l’application. En effet, la configuration du serveur (IIS Express) est en dehors du &lt;code&gt;.csproj&lt;/code&gt; dans un fichier de configuration utilisateur (&lt;code&gt;applicationhost.config&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id="que-faire-alors"&gt;Que faire alors ?
&lt;/h2&gt;&lt;h3 id="étape1-vérifier-le-fichier-iis-express"&gt;Étape 1 : vérifier le fichier IIS Express
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Va dans le dossier &lt;code&gt;.vs&lt;/code&gt; de ta solution (caché par défaut, dans le même dossier que ta solution &lt;code&gt;.sln&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Ensuite, dans &lt;code&gt;.vs/&amp;lt;nom_de_ta_solution&amp;gt;/config/applicationhost.config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Ouvre ce fichier, cherche la section &lt;code&gt;&amp;lt;sites&amp;gt;&lt;/code&gt; et vérifie les bindings.&lt;/li&gt;
&lt;li&gt;Si tu vois un binding avec &lt;code&gt;/swagger&lt;/code&gt; dans le chemin virtuel, remets-le à &lt;code&gt;/&lt;/code&gt; (la racine).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="étape2-modifier-la-propriété-project-url"&gt;Étape 2 : Modifier la propriété &lt;code&gt;Project Url&lt;/code&gt;
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Ouvre Visual Studio&lt;/li&gt;
&lt;li&gt;Dans les propriétés du projet -&amp;gt; onglet Web&lt;/li&gt;
&lt;li&gt;Modifie le champ &lt;strong&gt;Project Url&lt;/strong&gt; pour mettre juste &lt;code&gt;https://localhost:44306/&lt;/code&gt; (sans &lt;code&gt;/swagger&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Applique les changements et sauvegarde.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="étape3-modifier-la-page-spécifique-à-lancer-pour-ouvrir-directement-swagger"&gt;Étape 3 : Modifier la page spécifique à lancer (pour ouvrir directement Swagger)
&lt;/h3&gt;&lt;p&gt;Toujours dans les propriétés Web, dans le champ &lt;strong&gt;Specific Page&lt;/strong&gt; (ou « Page spécifique »), renseigne &lt;code&gt;/swagger&lt;/code&gt; ou &lt;code&gt;/swagger/ui/index&lt;/code&gt; (selon ta version Swagger)&lt;/p&gt;
&lt;p&gt;Cela fera que quand tu démarres le projet, il ouvre directement cette page dans le navigateur.&lt;/p&gt;
&lt;h3 id="étape4-nettoyer-et-redémarrer"&gt;Étape 4 : Nettoyer et redémarrer
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Ferme Visual Studio&lt;/li&gt;
&lt;li&gt;Supprime éventuellement le dossier &lt;code&gt;.vs&lt;/code&gt; (réinitialise la configuration IIS Express)&lt;/li&gt;
&lt;li&gt;Rouvre Visual Studio&lt;/li&gt;
&lt;li&gt;Recompile et lance le projet&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tu peux maintenant accéder au swagger de ton API.&lt;/p&gt;
&lt;div class="jli-notice jli-notice-tip" id="Suivez-moi !" &gt;
&lt;p class="jli-notice-title"&gt;Suivez-moi !&lt;/p&gt;&lt;p&gt;Merci d’avoir lu cet article. Assurez-vous de &lt;a href="https://x.com/LitzlerJeremie"&gt;me suivre sur X&lt;/a&gt;, de &lt;a href="https://iamjeremie.substack.com/"&gt;vous abonner à ma publication Substack&lt;/a&gt; et d’ajouter mon blog à vos favoris pour ne pas manquer les prochains articles.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Crédit: Photo de Home Privilege Real Estate (&lt;code&gt;https://www.pexels.com/photo/woman-standing-in-middle-of-labyrinth-20620491/&lt;/code&gt;).&lt;/p&gt;</description></item></channel></rss>