Comment puis-je changer le port IIS Express d'un site

109

Je souhaite modifier le numéro de port sur lequel mon site Web s'exécute lors du débogage à partir de Visual Studio. J'utilise Visual Studio 2012 et j'utilise ASP.NET MVC 4 pour mes projets, je souhaite modifier le port. Port aléatoire ou fixe, n'importe qui travaillera simplement pour changer le port.

Mohit
la source

Réponses:

128

Pour spécifier un port pour un projet d'application Web qui utilise IIS Express

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom de l'application, puis sélectionnez Propriétés. Cliquez sur l'onglet Web.

  2. Dans la section Serveurs, sous Utiliser le serveur Web IIS local, dans la zone URL du projet, modifiez le numéro de port.

  3. À droite de la zone URL du projet, cliquez sur Créer un répertoire virtuel, puis sur OK.

  4. Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés.

  5. Pour vérifier la modification, appuyez sur CTRL + F5 pour exécuter le projet. Le nouveau numéro de port apparaît dans la barre d'adresse du navigateur.

De Comment faire: spécifiez un port pour le serveur de développement ( sauvegarde archive.org ici ).

hutchonoïde
la source
14
Cela ne fonctionne pas pour les sites Web. Uniquement pour les projets d'application Web.
Supersharp
2
Pas d'onglet Web ici ... On pourrait penser qu'en 2017, ce ne serait plus un problème .. Cela ou du moins nous devrions pouvoir changer de port sans avoir à faire de magie
calcazar
L'option Visual Studio 2015 n'existe pas (site Web vide ASP.NET) .. comment faire?
KingRider
J'avais fait tout cela, sauf en cliquant sur le bouton Créer un répertoire virtuel. Faire cela a fait la différence; maintenant ça marche. Mais pourquoi est-ce nécessaire?
Rod
Eh bien, si vous faites cela, vous n'utilisez plus IIS Express, mais IIS local. Alors allez simplement dans l'onglet Web dans les propriétés du projet et modifiez le port selon vos besoins.
VladT
68

Voici une méthode plus manuelle qui fonctionne à la fois pour les projets de site Web et les projets d' application Web . (vous ne pouvez pas modifier l'URL du projet à partir de Visual Studio pour les projets de site Web.)

Projets d'application Web

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet et cliquez sur Décharger le projet .

  2. Accédez au fichier IIS Express ApplicationHost.config . Par défaut, ce fichier se trouve dans:

    %userprofile%\Documents\IISExpress\config

    Dans les versions récentes de Visual Studio et les projets d'application Web, ce fichier se trouve dans le dossier solution sous [Solution Dir]\.vs\config\applicationhost.config(notez que le dossier .vs est un élément masqué)

  3. Ouvrez le fichier ApplicationHost.config dans un éditeur de texte. Dans la <sites>section, recherchez le nom de votre site. Dans la <bindings>section de votre site, vous verrez un élément comme celui-ci:

    <binding protocol="http" bindingInformation="*:56422:localhost" />

    Changez le numéro de port (56422 dans l'exemple ci-dessus) en ce que vous voulez. par exemple:

    <binding protocol="http" bindingInformation="*:44444:localhost" />

    Bonus: vous pouvez même vous lier à un nom d'hôte différent et faire des choses intéressantes comme:

    <binding protocol="http" bindingInformation="*:80:mysite.dev" />

    puis mappez mysite.devvers 127.0.0.1dans votre hostsfichier, puis ouvrez votre site Web à partir de " http://monsite.dev "

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet et cliquez sur Recharger le projet .

  5. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Propriétés.

    • Sélectionnez l'onglet Web.

    • Dans la section Serveurs, sous Utiliser le serveur Web IIS local, dans la zone URL du projet, entrez une URL correspondant au nom d'hôte et au port que vous avez entrés dans le fichier ApplicationHost.config auparavant.

    • À droite de la zone URL du projet, cliquez sur Créer un répertoire virtuel. Si vous voyez un message de réussite, cela signifie que vous avez effectué les étapes correctement.

    • Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés.

Projets de site Web

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Supprimer ou Supprimer ; ne vous inquiétez pas, cela supprime le projet de votre solution, mais ne supprime pas les fichiers correspondants sur le disque.

  2. Suivez l'étape 2 ci-dessus pour les projets d'application Web.

  3. Dans l' Explorateur de solutions, cliquez droit sur la solution, sélectionnez Ajouter, puis sélectionnez Site Web existant ... . Dans la boîte de dialogue Ajouter un site Web existant, assurez-vous que l'onglet IIS local est sélectionné. Sous Sites IIS Express, sélectionnez le site dont vous avez modifié le numéro de port, puis cliquez sur OK.

Vous pouvez maintenant accéder à votre site Web à partir de votre nouveau nom d'hôte / port.

Saeb Amini
la source
1
Génial, exactement ce qu'il fallait. J'ai dû pêcher pour un port en activité, mais cela a fait l'affaire, merci.
hobwell
1
Merci Saeb. Cela fonctionne parfaitement. Juste un point à noter ... J'utilise le contrôle de source et après avoir ajouté mon projet de site Web, j'ai dû aller dans Fichier> Contrôle de source> Avancé> Modifier le contrôle de source et relier mon projet à mon serveur de contrôle de source. Cela signifiait simplement sélectionner le projet dans la liste et cliquer sur le bouton «Lier» à côté de «Actualiser». Merci pour l'excellente réponse.
Dirk Strauss
2
Excellente réponse - Au lieu de "cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Supprimer ou Supprimer", vous pouvez sélectionner "décharger le projet à la place", puis modifier à nouveau votre applicationhost.config, le mien était à "<chemin vers ma solution (.sln) file> \. vs \ config \ applicationhost.config "(notez que le dossier .vs est un élément caché, alors sélectionnez l'option pour afficher les fichiers cachés dans votre explorateur de fichiers)
Paul Gorbas
1
@PaulGorbas heureux que cela vous ait aidé. Notez que vous ne pouvez pas "décharger" les sites Web , cela ne fonctionne que pour les applications Web.
Saeb Amini
2
Comment faire fonctionner cela pour un port SSL personnalisé? Pour tout port sauf 60233, j'obtiens "Cette page ne peut pas être affichée" dans Internet Explorer et des messages similaires dans d'autres navigateurs Web. Où dans Windows 7 désigne-t-on les ports SSL?
MiloDC
18

.Net Core

Pour ceux qui sont arrivés ici à la recherche de cette configuration dans .Net core, cela réside dans le lauchSettings.json. Modifiez simplement le port dans la propriété "applicationUrl".

Le fichier devrait ressembler à ceci:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:53950/", //Here
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "index.html",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
    }
  }
}

Ou vous pouvez utiliser l'interface graphique en double-cliquant dans les "Propriétés" de votre projet.

Remarque: j'ai dû rouvrir VS pour le faire fonctionner.

fabriciorissetto
la source
1
Réponse géniale. Le redémarrage de VS a fonctionné pour moi. Apparemment, le ProductAgentService.exeservice de BitDefender utilise le port 50151 qui était en conflit avec le port par défaut d'IIS Express.
Silkfire
5
Les ports SSL sont limités à 44300-44399. Ça pourrait être bon à savoir.
FatAlbert le
15

Faites un clic droit sur votre projet MVC. Allez dans Propriétés. Accédez à l'onglet Web.
Modifiez le numéro de port dans l'URL du projet. Exemple. localhost: 50645
Changer le nombre en gras, 50645, en autre chose changera le port sous lequel le site s'exécute.
Appuyez sur le bouton Créer un répertoire virtuel pour terminer le processus.

Voir aussi: http://msdn.microsoft.com/en-us/library/ms178109.ASPX

L'image montre l'onglet Web d'un projet MVC entrez la description de l'image ici

Ashley Medway
la source
4

Si vous souhaitez simplement modifier le port car il est déjà utilisé. Suivez les étapes suivantes.

Dans Visual Studio

  1. Cliquez avec le bouton droit sur le nœud de projet et déchargez le projet
  2. Cliquez avec le bouton droit sur le nœud de projet et modifiez le fichier .csproj.
  3. Recherchez les balises suivantes et supprimez-les
<DevelopmentServerPort>62140</DevelopmentServerPort>
<DevelopmentServerVPath></DevelopmentServerVPath>
<IISUrl>http://localhost:62116/</IISUrl>
  1. appuyez sur Ctrl + S pour enregistrer le document
  2. Cliquez avec le bouton droit sur Project Node et chargez Project

Cela fonctionnera en sélectionnant un autre port au hasard.

Pour plus d'informations. veuillez cliquer

Charlie
la source
2

Un autre correctif pour ceux qui ont installé IIS:

Créez un chemin sur le serveur IIS et attribuez-y votre site Web / application.

Allez aux propriétés de la solution de l'explorateur, puis avant d'utiliser l'iisexpress de Visual Studio, faites que vs utilise votre propre IIS personnel.

Propriétés de la solution

Alex
la source
2

Vous pouvez d'abord démarrer IIS express à partir de la ligne de commande et lui donner un port avec / port: numéro de port voir les autres options .

John Henckel
la source
2

Si nous parlons d'un site Web, pas d'une application Web, mon problème était que le dossier .sln était ailleurs que sur le site Web, et je ne l'avais pas remarqué. Recherchez le chemin .sln, puis le dossier .vs (caché).

Sentinelle
la source
0

J'aurais le même problème sur un projet WCF sur VS2017. Lorsque je débogue, cela donne des erreurs telles que l'impossibilité d'obtenir des métadonnées, mais il s'avère que le port a été utilisé par un autre processus. J'ai eu une idée d'ici, et j'ai enfin compris où se trouvait le port. Il y a 2 emplacements: 1. C: ... dans votre dossier de solution .... vs \ config \ applicationhost.config. À l'intérieur, vous pouvez trouver le site que vous déboguez. Sous, supprimez le problème de port. 2. C: ... dans votre dossier de projet ... \, vous verrez un fichier avec ProjectName.csproj.user. Supprimez ce fichier.

Alors, fermez la solution, supprimez le fichier et le fichier utilisateur mentionnés ci-dessus, puis rouvrez la solution, VS trouvera un autre port approprié pour le site.

Huky
la source
0

J'utilise VS 2019.

si votre solution a plusieurs bibliothèques de projets / classes, etc., vous pouvez ne pas voir l'onglet Web lorsque vous cliquez sur les propriétés de l'explorateur de solutions.

En cliquant sur le projet MVC, puis en vérifiant les propriétés, vous découvrirez l'onglet Web dans lequel vous pouvez modifier le port.

Shaakir
la source
-2

Modifiez le fichier .sln à l' aide d'un éditeur tel que le bloc-notes.

Remplacez tous les ports par un nouveau port.

ajouter à
la source
Il s'agit d'une solution valide si vous utilisez l'ancien projet de site Web (c'est-à-dire pour les fichiers ASP Classic) dans VS2019. Vous devez modifier le fichier de solution car il n'y a pas d'autres pages de propriétés. Mon projet ressemble à ceci dans le fichier sln. Project ("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "MyWebSitePrj", " localhost: 50194 ", "{BC30BA4B-1D1D-48D0-B1E8-86CBD64611B5}"
Brad Irby
-6

Déployez votre application dans IIS avec le port par défaut. Essayez de le déboguer à l'aide de Visual Studio. C'est une bonne pratique. Si vous utilisez Visual Studio, il continuera à changer le numéro de port la plupart du temps. Il vaut donc mieux déployer d'abord l'application dans IIS, ouvrir la même chose dans Visual Studio et la déboguer.

Arjunan
la source
Cher Mark, je ne pense pas que vous ayez lu la question attentivement!
Mohit
1
De plus, il n'est pas recommandé de développer directement contre IIS. Cet article MSDN explique quand vous devez utiliser IISExpress, IIS ou un serveur externe lors du développement. msdn.microsoft.com/en-us/library/58wxa9w5(v=vs.120).aspx
Itanex