Где находится файл конфигурации / метабазы ​​IIS Express?

315

Где можно найти файл конфигурации / метабазы ​​IIS Express?

Myster
источник

Ответы:

548

Файл конфигурации называется applicationhost.config . Он хранится здесь:

Мои документы> IIS Express> config

обычно, но не всегда, один из этих путей будет работать

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

Обновление для VS2019
Если вы используете Visual Studio 2019+, проверьте этот путь:

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

Обновление для VS2015 (кредит: @Talon)
Если вы используете Visual Studio 2015-2017, проверьте этот путь:

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

В Visual Studio 2015+ вы также можете настроить, какой файл applicationhost.config используется, изменив <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>настройку в файле проекта (например, MyProject.csproj). (источник: форум MSDN )

Myster
источник
4
Проекты VS2015 также могут использовать глобальный конфигурационный файл. Существует настройка проекта, управляющая им, которую вы можете добавить.
Лекс Ли
5
Ты спас мой день. Я представил некоторые ASP.NET 5 (vNext) для sln, после чего веб-проект ASP.NET 4.5 не запустится, а пожалуется на то, что процесс не запущен После удаления папки .vs вместе с $ (solutionDir) \. Vs \ config \ applicationhost.config все снова работает. :)
ZZZ
1
Для справки: команда для запуска IIS Express согласно документации ):, > iisexpress /config:config-file /site:site-nameгде config-fileуказан полный путь к applicationhost.config. Смотрите также ответ @CosCallis о самом простом способе получить этот путь. site-nameдолжно соответствовать одному из имен в <sites>разделе applicationhost.config.
Алекс Файнштейн
Если вы хотите отключить журналы во время разработки, найдите узел и <siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
включите
Спасибо за указание обновления до VS2019. Мигрировал и задавался вопросом, почему мой конфигурационный файл не изменил поведение IIS Express.
Гримм
95

С момента появления Visual Studio 2015 это местоположение изменилось и добавлено в корневой каталог вашего решения в следующем месте:

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

Надеюсь, это сэкономит вам время!

коготь
источник
1
После реализации этого похоже, что конфигурация в папке «Мои документы» фактически используется в качестве шаблона, который используется при настройке нового проекта и его запуске в IIS Express. Насколько я могу судить, вам все еще нужно сохранять исходный файл там, где он живет, но если вы хотите изменить местоположение журналов для всех новых проектов, вы можете обновить этот файл, чтобы переместить их в другое место
Дэн Харрис,
90

Для VS 2015 и VS 2017 : щелкните правой кнопкой мыши значок на панели задач IIS Express (при запуске приложения) и выберите «Показать все приложения»:

Контекстное меню для иконки в системном трее IIS Express с выделенной альтернативой «Показать все приложения»

Затем выберите соответствующее приложение и щелкните путь к файлу applicationhost.config:

Диалог, показывающий произвольный веб-сайт с сопровождающим путем к файлу applicationhost.config

Cos Callis
источник
3
Поскольку это ответ, который определенно приведет вас на правильный путь каждый раз, это должен быть принятый ответ.
Льюис Чианчи
@ cos-callis Что касается вашего редактирования, действительно ли поведение панели задач IIS Express зависит от Visual Studio?
@ BjörnAliGöransson Не имея системы VS 2013 и работающей, я не могу сразу вернуться и проверить, но я «знаю», что это работает на VS 2015/17, и я «знаю», что в до 2015 года расположение данных конфигурации было разные. Как и все, что меня часто разочаровывает в вопросах и ответах, которые появляются при поиске, где «принятый» ответ является древним и устаревшим, поэтому я счел, что стоит добавить, что «на сегодняшний день» ваш ответ «действителен в 2015/17 году» «... никаких обещаний относительно того, будет ли это правдой в VS 2019 +++ :)
Cos Callis
Я понимаю вашу точку зрения, но я думаю, что IIS Express был выпущен в то же время, что и VS 2012, до этого был только Cassini - IIRC ???
Ознакомьтесь с этой историей, начиная с 2011 года: abhijitjana.net/2011/08/05/… «Visual Studio 2010 SP1 обеспечивает полную интеграцию с IIS Express»
52

Чтобы пройти полный круг и включить все версии Visual Studio, @Myster изначально заявлял, что;

До Visual Studio 2015 пути к applicationhost.config были следующими:

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

Путь к Visual Studio 2015/2017 можно найти по адресу: ( кредит: @Talon )

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

Путь к Visual Studio 2019 можно найти по адресу: ( кредит: @Talon )

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

Но часть, которая может заинтересовать некоторых людей, заключается в том, что настройки проекта в файле .sln могут заполнить applicationhost.config для Visual Studio 2015+ . ( кредит: @Lex Li )

Итак, если вы вносите изменения в applicationhost.config, вы также должны убедиться, что ваши изменения здесь совпадают:

$(solutionDir)\ProjectName.sln

Две важные настройки должны выглядеть так:

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

и

VWDPort = "Port#"

Здесь важно то, что два параметра в .sln должны совпадать с именем и bindingInformation соответственно в файле applicationhost.config, если вы планируете вносить изменения. Там может быть больше мест, которые связывают эти два файла, и я буду обновлять, как я нахожу больше ссылок либо с помощью комментариев или опыта.

Джо
источник
2

Для Visual Studio 2019 (v16.2.4) я смог найти только этот файл здесь:

C: \ Users \\ Documents \ IISExpress \ Config \ ApplicationHost.config ApplicationHost.config

Надеюсь, это поможет, так как я не смог найти расположение папки .vs, как указано в приведенных выше предложениях.

RichieMN
источник
Это эквивалентно первому предложению %userprofile%\documents\iisexpress\config\applicationhost.config. Хотя, если вы работаете с Visual Studio, я ожидаю, что он будет использовать тот, что в каталоге .vs.
Myster
0

Я думаю, что все ответы здесь актуальны, однако, если, как и я, вы ищете, откуда Visual Studio берет шаблон, когда он создает новую версию applicationHost.config, вы можете посмотреть здесь:

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

Это часто случается, если вы часто работаете над несколькими ветками одного и того же проекта и нажимаете 'debug' во многих из них. Выполнение редактирования гарантирует, что редактирование распространяется на любые новые папки проекта / решения, которые будут созданы.

Ответ косвенно пришел из этого ответа

Фил Моррис
источник