web-dev-qa-db-fra.com

Arrêtez Visual Studio 2013 de modifier l'application IISExpressHost.config

J'ai un projet de site Web utilisant Visual Studio 2013, et chaque fois que je l'ouvre, il continue d'ajouter une nouvelle entrée pour le projet de site Web dans applicationHost.config. J'utilise IISExpress pour mon développement, mais je crée toujours une entrée personnalisée pour fournir des détails et je l'ai configurée pour utiliser le port 80, donc je voudrais que Visual Studio n'apporte aucune modification à ce fichier.

Je suis allé dans Outils> Options> Projets Web et décoché "Utiliser la version 64 bits de IIS Express pour les sites Web et les projets", fermé la solution, supprimé l'entrée de ApplicationHost.config et re -ouvert le projet dans Visual Studio, mais il continue d'ajouter une entrée à applicationHost.config et de nommer mon projet de site Web quel que soit le nom de cette entrée.

Existe-t-il un moyen de déconnecter entièrement Visual Studio d'IISExpress? J'aime l'utiliser, mais je veux contrôler moi-même ce service et cette configuration.

27
Kyle Ballard

Dans la section des liaisons de la section du site, créez une nouvelle liaison en plus de la version localhost comme ceci:

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

Après avoir les deux lignes, VS a cessé de créer de nouvelles sections de site.

21
Stuart Allen

Comment: spécifier un port pour le serveur de développement

Je viens d'essayer la méthode décrite dans l'article msdn ci-dessus pour changer le port IIS utilisations express (je n'ai pas essayé 80 cependant).

  1. faites un clic droit sur le site Web dans l'Explorateur de solutions, supprimez (ne supprimera pas les fichiers)
  2. éditez le fichier applicationHost.config, changez la liaison
  3. "ajouter un site Web existant" dans Visual Studio (pointez sur le dossier du site que vous avez précédemment supprimé)

À ce stade, il ne semble pas créer une nouvelle entrée dans applicationHost.config et utilise le nouveau port.

4
Anssssss

Nous avons le même problème ici. Deux jours sur Google pour une solution sans succès. La seule solution jusqu'à présent consiste à ajouter le site Web à la solution à l'aide de l'option Local IIS.

2
Andre RB

J'ai rencontré ce problème lorsque je passais d'un espace de travail TFS à un autre lors de mes expériences avec VS2013. J'avais mis à jour VS2013 à partir de VS2012 dans un nouvel espace de travail, puis quand j'ai terminé et validé les modifications, j'ai obtenu la dernière version de mon espace de travail d'origine et j'ai commencé à l'utiliser avec VS2013. Chaque fois que je chargeais mon projet Web, je recevais le message à propos de la modification de mon fichier de projet, et chaque fois qu'il le faisait, il bousillait les paramètres.

Voici comment je l'ai corrigé, après avoir essayé les autres réponses ici. Un mauvais fichier .csproj.user était le problème. Je n'utilise pas ce fichier, généralement, car la case "Appliquer les paramètres du serveur à tous les utilisateurs (stocker dans le fichier de projet)" dans les propriétés Web est cochée. Mais je l'avais utilisé dans le passé. La suppression de ce fichier ou sa mise à jour afin que les paramètres correspondent à ceux que j'ai définis dans le fichier de projet (c'est-à-dire la définition du port, l'utilisation ou non d'IISExpress, etc.) l'ont corrigé. Je peux maintenant charger mon projet sans que Visual Studio n'apporte (les mauvaises) modifications à mon fichier de projet chaque fois que je charge.

1
rrreee

Dans les propriétés du projet, je vois un onglet "Web", qui contient une section "Serveurs" qui a une liste déroulante où vous pouvez sélectionner parmi les éléments suivants:

  • IIS Express
  • IIS local
  • Hôte externe

Je crois que sélectionner "Local IIS" est l'option dont vous avez besoin.

0
Anssssss

Si vous ne souhaitez pas utiliser un serveur de développement local, vous pouvez très facilement attacher à un processus IIS sur une machine locale).

Il existe un moyen de définir l'emplacement de sortie de génération pour le débogage dans les propriétés (cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et choisissez "propriétés"). Si vous voulez le faire facilement la première fois sans configuration supplémentaire, copiez simplement la sortie de votre build de débogage dans le dossier de votre site Web que vous avez configuré dans IIS.

Ensuite, assurez-vous que vous pouvez accéder au site IIS. Si tel est le cas, revenez à Visual Studio et accédez à l'élément de menu Debug-> Attach to Process. Choisissez 'w3wp.exe' dans la liste. (vous devrez peut-être cocher "Afficher tous les processus".) Vous devriez maintenant être en mesure d'atteindre les points d'arrêt dans VS.

Cependant, vous devriez également pouvoir utiliser IIS Express avec un port spécifique, comme l'a dit @Anssssss.

0
ps2goat