Où se trouve le fichier de configuration / métabase IIS Express?

315

Où trouver le fichier de configuration / métabase IIS Express?

Myster
la source

Réponses:

548

Le fichier de configuration est appelé applicationhost.config . Il est stocké ici:

Mes documents> IIS Express> config

généralement, mais pas toujours, l'un de ces chemins fonctionnera

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

Mise à jour pour VS2019
Si vous utilisez Visual Studio 2019+, vérifiez ce chemin:

$(solutionDir)\.vs\{projectName}\config\applicationhost.config

Mise à jour pour VS2015 (crédit: @Talon)
Si vous utilisez Visual Studio 2015-2017, vérifiez ce chemin:

$(solutionDir)\.vs\config\applicationhost.config

Dans Visual Studio 2015+, vous pouvez également configurer le fichier applicationhost.config utilisé en modifiant le <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>paramètre dans le fichier de projet (par exemple: MyProject.csproj). (source: forum MSDN )

Myster
la source
4
Les projets VS2015 peuvent également utiliser le fichier de configuration global. Un paramètre de projet le contrôle, que vous pourriez ajouter.
Lex Li
5
Vous sauvez ma journée. J'ai présenté certains ASP.NET 5 (vNext) à sln, puis le projet Web ASP.NET 4.5 ne s'exécutera pas mais se plaindra du processus non exécuté. Après avoir supprimé le dossier .vs avec $ (solutionDir) \. Vs \ config \ applicationhost.config, les choses fonctionnent à nouveau. :)
ZZZ
1
Pour référence, la commande pour démarrer IIS Express, selon la documentation ):, > iisexpress /config:config-file /site:site-nameconfig-fileest un chemin complet vers applicationhost.config. Voir aussi la réponse de @CosCallis sur la manière la plus simple d'obtenir ce chemin. site-namedoit correspondre à l'un des noms de la <sites>section applicationhost.config.
Alex Fainshtein
Si vous souhaitez désactiver les journaux pendant le développement, trouvez le nœud et définissez / ajoutez activé sur false<siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
Gutek
Merci d'avoir signalé la mise à jour de VS2019. Migrait et se demandait pourquoi mon fichier de configuration ne changeait pas le comportement d'IIS Express.
Grimm
95

Depuis l'introduction de Visual Studio 2015, cet emplacement a changé et est ajouté à la racine de votre solution sous l'emplacement suivant:

C:\<Path\To\Solution>\.vs\config\applicationhost.config

J'espère que cela vous fait gagner du temps!

Talon
la source
1
Après avoir réalisé cela, il semble que la configuration dans le dossier Mes documents est réellement utilisée comme modèle utilisé lorsque vous configurez un nouveau projet et l'exécutez dans IIS Express. Pour autant que je sache, vous devez toujours conserver celui d'origine, mais si vous souhaitez modifier l'emplacement des journaux pour tous les nouveaux projets, vous pouvez mettre à jour ce fichier pour les déplacer ailleurs
Dan Harris
90

Pour VS 2015 et VS 2017 : cliquez avec le bouton droit sur l'icône de la barre d'état système IIS Express (lors de l'exécution de l'application) et sélectionnez «Afficher toutes les applications»:

Menu contextuel pour l'icône de la barre d'état système IIS Express montrant l'alternative "Afficher toutes les applications" en surbrillance

Sélectionnez ensuite l'application appropriée et cliquez sur le chemin du fichier applicationhost.config:

Boîte de dialogue montrant un site Web arbitraire avec le chemin d'accès au fichier applicationhost.config

Cos Callis
la source
3
Parce que c'est la réponse qui vous mettra définitivement sur la bonne voie à chaque fois, cela devrait être la réponse acceptée.
Lewis Cianci
@ cos-callis Concernant votre modification, le comportement de la barre d'état système IIS Express dépend-il vraiment de Visual Studio?
@ BjörnAliGöransson N'ayant pas de système VS 2013 opérationnel, je ne peux pas facilement revenir en arrière et vérifier mais je «sais» que cela fonctionne sur VS 2015/17 et je «sais» qu'avant 2015, l'emplacement des données de configuration était différent. Autant que tout ce que je suis fréquemment frustré par les questions et réponses qui surgissent lors d'une recherche où la réponse `` acceptée '' est ancienne et obsolète, j'ai donc estimé qu'il valait la peine d'ajouter que `` à partir d'aujourd'hui '' votre réponse est `` valide le 2015/17 '... aucune promesse quant à savoir si cela sera vrai dans VS 2019 +++ :)
Cos Callis
Je comprends votre point de vue 👍 mais je pense que IIS express est sorti avec / en même temps que VS 2012, avant qu'il n'y avait que Cassini - IIRC ???
Découvrez ce morceau d'histoire, à partir de 2011: abhijitjana.net/2011/08/05/… "Visual Studio 2010 SP1 fournit une intégration complète avec IIS Express"
52

Pour boucler la boucle et inclure toutes les versions de Visual Studio, @Myster a initialement déclaré que;

Avant Visual Studio 2015, les chemins d'accès à applicationhost.config étaient:

%userprofile%\documents\iisexpress\config\applicationhost.config
%userprofile%\my documents\iisexpress\config\applicationhost.config

Le chemin de Visual Studio 2015/2017 peut être trouvé à: ( crédit: @Talon )

$(solutionDir)\.vs\config\applicationhost.config

Le chemin de Visual Studio 2019 est disponible à l' adresse : ( crédit: @Talon )

$(solutionDir)\.vs\config\$(ProjectName)\applicationhost.config

Mais la partie qui pourrait attirer certaines personnes est que les paramètres du projet dans le fichier .sln peuvent repeupler l'applicationhost.config pour Visual Studio 2015+ . ( crédit: @Lex Li )

Donc, si vous apportez une modification dans applicationhost.config, vous devez également vous assurer que vos modifications correspondent ici:

$(solutionDir)\ProjectName.sln

Les deux paramètres importants doivent ressembler à:

Project("{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}") = "ProjectName", "ProjectPath\", "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

et

VWDPort = "Port#"

Ce qui est important ici, c'est que les deux paramètres dans le .sln doivent correspondre respectivement au nom et à bindingInformation dans le fichier applicationhost.config si vous prévoyez d'apporter des modifications. Il peut y avoir plus d'endroits qui lient ces deux fichiers et je mettrai à jour au fur et à mesure que je trouverai plus de liens par des commentaires ou plus d'expérience.

Joe
la source
2

Pour Visual Studio 2019 (v16.2.4), j'ai uniquement pu trouver ce fichier ici:

C: \ Users \\ Documents \ IISExpress \ config \ applicationhost.config applicationhost.config

J'espère que cela aide car je n'ai pas pu trouver l'emplacement du dossier .vs comme mentionné dans les suggestions ci-dessus.

RichieMN
la source
Cela équivaut à la première suggestion de %userprofile%\documents\iisexpress\config\applicationhost.config. Cependant, si vous exécutez via Visual Studio, je m'attendrais à ce qu'il utilise celui du répertoire .vs.
Myster
0

Je pense que toutes les réponses ici sont pertinentes, mais si, comme moi, vous cherchez d'où Visual Studio prend le modèle lorsqu'il crée une nouvelle version de l' applicationHost.config, vous pouvez regarder ici:

C:\Program Files (x86)\IIS Express\config\templates\PersonalWebServer

Cela se produit souvent si vous travaillez souvent sur plusieurs branches du même projet et que vous appuyez sur «déboguer» dans beaucoup d'entre elles. Une modification ici garantira que la modification se propage à tout nouveau dossier de projet / solution créé.

La réponse vient indirectement de cette réponse

Phil Morris
la source