Gdzie znajduje się plik konfiguracji / metabazy IIS Express?

315

Gdzie można znaleźć plik konfiguracji / metabazy IIS Express?

Tajemnica
źródło

Odpowiedzi:

548

Plik konfiguracyjny nazywa się applicationhost.config . Jest tu przechowywane:

Moje dokumenty> IIS Express> config

zwykle, ale nie zawsze, jedna z tych ścieżek będzie działać

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

Aktualizacja dla VS2019
Jeśli używasz programu Visual Studio 2019+, sprawdź tę ścieżkę:

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

Aktualizacja dla VS2015 (kredyt: @Talon)
Jeśli używasz Visual Studio 2015-2017, sprawdź tę ścieżkę:

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

W Visual Studio 2015+ można również skonfigurować, który plik applicationhost.config jest używany, zmieniając <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>ustawienie w pliku projektu (np .: MyProject.csproj). (źródło: forum MSDN )

Tajemnica
źródło
4
Projekty VS2015 mogą również korzystać z globalnego pliku konfiguracyjnego. Kontroluje to ustawienie projektu, które możesz dodać.
Lex Li,
5
Ratujesz mój dzień. Wprowadziłem do programu sln trochę ASP.NET 5 (vNext), wtedy projekt internetowy ASP.NET 4.5 nie będzie działał, ale narzeka na brak działania procesu. Po usunięciu folderu .vs wraz z $ (solutionDir) \. Vs \ config \ applicationhost.config, wszystko znowu działa. :)
ZZZ
1
W celach informacyjnych polecenie uruchomienia IIS Express, zgodnie z dokumentacją ):, > iisexpress /config:config-file /site:site-namegdzie config-filejest pełna ścieżka do applicationhost.config. Zobacz także odpowiedź @CosCallis na temat najprostszego sposobu uzyskania tej ścieżki. site-namepowinien pasować do jednej z nazw w <sites>sekcji applicationhost.config.
Alex Fainshtein,
Jeśli chcesz wyłączyć dzienniki podczas programowania, znajdź węzeł i ustaw / dodaj włączone na false<siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
Gutek
Dziękujemy za wskazanie aktualizacji VS2019. Migrowałem i zastanawiałem się, dlaczego mój plik konfiguracyjny nie zmienił zachowania programu IIS Express.
Grimm
95

Od czasu wprowadzenia programu Visual Studio 2015 ta lokalizacja uległa zmianie i jest dodawana do katalogu głównego rozwiązania w następującej lokalizacji:

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

Mam nadzieję, że to pozwoli Ci zaoszczędzić trochę czasu!

Talon
źródło
1
Po zrealizowaniu tego wygląda na to, że konfiguracja w folderze Moje dokumenty jest faktycznie używana jako szablon, który jest używany podczas konfigurowania nowego projektu i uruchamiania go w IIS Express. Nadal musisz zachować oryginalny, gdzie żyje, o ile wiem, ale jeśli chcesz zmodyfikować lokalizację dzienników dla wszystkich nowych projektów, możesz zaktualizować ten plik, aby przenieść go w inne miejsce
Dan Harris
90

W przypadku VS 2015 i VS 2017 : Kliknij prawym przyciskiem myszy ikonę zasobnika systemowego IIS Express (podczas uruchamiania aplikacji) i wybierz „Pokaż wszystkie aplikacje”:

Menu kontekstowe ikony zasobnika systemowego IIS Express pokazujące podświetloną opcję „Pokaż wszystkie aplikacje”

Następnie wybierz odpowiednią aplikację i kliknij ścieżkę pliku applicationhost.config:

Okno dialogowe z witryną arbritrary z towarzyszącą ścieżką pliku applicationhost.config

Cos Callis
źródło
3
Ponieważ jest to odpowiedź, która za każdym razem ostatecznie doprowadzi cię na właściwą ścieżkę, powinna to być odpowiedź zaakceptowana.
Lewis Cianci,
@ cos-callis Jeśli chodzi o edycję, czy zachowanie zasobnika systemowego IIS Express naprawdę zależy od programu Visual Studio?
@ BjörnAliGöransson Nie mając uruchomionego systemu VS 2013 nie mogę z łatwością wrócić i sprawdzić, ale „wiem”, że to działa na VS 2015/17 i „wiem”, że przed 2015 r. Lokalizacja danych konfiguracyjnych była różne. Mimo że często frustrują mnie pytania i odpowiedzi, które pojawiają się podczas wyszukiwania, w którym „zaakceptowana” odpowiedź jest starożytna i nieaktualna, dlatego uważam, że warto dodać, że „na dzień dzisiejszy” odpowiedź jest „ważna w dniu 2015/17 „... nie ma obietnic, czy będzie to prawdą w VS 2019 +++ :)
Cos Callis,
Rozumiem twój punkt 👍, ale myślę, że IIS express został wydany w tym samym czasie co VS 2012, wcześniej było tylko Cassini - IIRC ???
Sprawdź ten fragment historii, od 2011 roku: abhijitjana.net/2011/08/05/… „Visual Studio 2010 SP1 zapewnia pełną integrację z IIS Express”
52

Aby zatoczyć pełne koło i uwzględnić wszystkie wersje programu Visual Studio, @Myster pierwotnie stwierdził, że;

Przed Visual Studio 2015 ścieżki do applicationhost.config były następujące:

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

Ścieżkę programu Visual Studio 2015/2017 można znaleźć pod adresem: ( kredyt: @Talon )

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

Ścieżkę programu Visual Studio 2019 można znaleźć na stronie: ( kredyt: @Talon )

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

Ale częścią, która może przyciągnąć niektórych ludzi, jest to, że ustawienia projektu w pliku .sln mogą ponownie wypełnić plik applicationhost.config dla programu Visual Studio 2015+ . ( kredyt: @Lex Li )

Tak więc, jeśli wprowadzisz zmianę w pliku applicationhost.config, musisz również upewnić się, że zmiany są zgodne tutaj:

$(solutionDir)\ProjectName.sln

Dwa ważne ustawienia powinny wyglądać następująco:

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

i

VWDPort = "Port#"

Ważne jest tutaj to, że dwa ustawienia w .sln muszą pasować odpowiednio do nazwy i wiązaniaInformacji w pliku applicationhost.config, jeśli planujesz wprowadzić zmiany. Może być więcej miejsc, które łączą te dwa pliki, a ja będę aktualizować, gdy znajdę więcej linków albo w komentarzach, albo w większym doświadczeniu.

Joe
źródło
2

W przypadku Visual Studio 2019 (v16.2.4) mogłem znaleźć tylko ten plik tutaj:

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

Mam nadzieję, że to pomaga, ponieważ nie byłem w stanie znaleźć lokalizacji folderu .vs, jak wspomniano w powyższych sugestiach.

RichieMN
źródło
Jest to równoważne z pierwszą sugestią dotyczącą %userprofile%\documents\iisexpress\config\applicationhost.config. Chociaż jeśli uruchomisz za pomocą programu Visual Studio, spodziewałbym się, że użyje tego z katalogu .vs.
Myster
0

Myślę, że wszystkie odpowiedzi tutaj są istotne, ale jeśli, podobnie jak ja, szukasz miejsca, w którym Visual Studio bierze szablon od momentu utworzenia nowej wersji applicationHost.config , możesz zajrzeć tutaj:

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

Dzieje się tak często, jeśli często pracujesz nad wieloma gałęziami tego samego projektu i naciskasz „debuguj” w wielu z nich. Dokonanie edycji tutaj zapewni, że edycja zostanie przeniesiona do każdego nowego folderu projektu / rozwiązania, które zostanie utworzone.

Odpowiedź pośrednio pochodzi z tej odpowiedzi

Phil Morris
źródło