Onde está o arquivo de configuração / metabase do IIS Express?

315

Onde o arquivo de configuração / metabase do IIS Express pode ser encontrado?

Myster
fonte

Respostas:

548

O arquivo de configuração é chamado applicationhost.config . Está armazenado aqui:

Meus Documentos> IIS Express> config

geralmente, mas nem sempre, um desses caminhos funcionará

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

Atualização para o VS2019
Se você estiver usando o Visual Studio 2019+, verifique este caminho:

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

Atualização para o VS2015 (crédito: @Talon)
Se você estiver usando o Visual Studio 2015-2017, verifique este caminho:

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

No Visual Studio 2015 ou superior, você também pode configurar qual arquivo applicationhost.config é usado, alterando a <UseGlobalApplicationHostFile>true|false</UseGlobalApplicationHostFile>configuração no arquivo do projeto (por exemplo: MyProject.csproj). (fonte: fórum do MSDN )

Myster
fonte
4
Os projetos do VS2015 também podem usar o arquivo de configuração global. Há uma configuração de projeto controlando-a, que você pode adicionar.
Lex Li
5
Você salva meu dia. Eu apresentei alguns ASP.NET 5 (vNext) ao sln, o projeto da Web do ASP.NET 4.5 não será executado, mas reclamará do processo não executado. Depois de remover a pasta .vs junto com o $ (solutionDir) \. Vs \ config \ applicationhost.config, as coisas funcionam novamente. :)
ZZZ
1
Para referência, o comando para iniciar o IIS Express, conforme a documentação ):, > iisexpress /config:config-file /site:site-nameonde config-fileé um caminho completo para applicationhost.config. Consulte também a resposta de @CosCallis sobre a maneira mais fácil de obter esse caminho. site-namedeve corresponder a um dos nomes na <sites>seção de applicationhost.config.
Alex Fainshtein
Se você quiser desativar os registros durante o desenvolvimento encontrar o nó e set / ADD habilitado para false<siteDefaults> <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" enabled="false"/> <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024" /> </siteDefaults>
Gutek
Obrigado por apontar a atualização para o VS2019. Estava migrando e se perguntou por que meu arquivo de configuração não mudou o comportamento do IIS Express.
Grimm
95

Desde a introdução do Visual Studio 2015, esse local foi alterado e é adicionado à raiz da solução no seguinte local:

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

Espero que isso poupe algum tempo!

Talon
fonte
1
Depois de perceber isso, parece que a configuração na pasta Meus Documentos é realmente usada como um modelo usado quando você configura um novo projeto e o executa no IIS Express. Você ainda precisa manter o original onde ele mora, até onde eu sei, mas se você quiser modificar o local dos logs para todos os novos projetos, poderá atualizar esse arquivo para movê-los para outro lugar
Dan Harris
90

Para o VS 2015 e o VS 2017 : Clique com o botão direito do mouse no ícone da bandeja do sistema do IIS Express (ao executar o aplicativo) e selecione "Mostrar todos os aplicativos":

Menu de contexto para o ícone da bandeja do sistema do IIS Express mostrando a alternativa "Mostrar todos os aplicativos" realçada

Em seguida, selecione o aplicativo relevante e clique no caminho do arquivo applicationhost.config:

Diálogo mostrando o site arbitrário com o caminho do arquivo applicationhost.config que o acompanha

Cos Callis
fonte
3
Como esta é a resposta que o levará definitivamente ao caminho certo todas as vezes, essa deve ser a resposta aceita.
Lewis Cianci
@ cos-callis Em relação à sua edição, o comportamento da bandeja do sistema do IIS Express é realmente dependente do Visual Studio?
@ BjörnAliGöransson Não possuo um sistema VS 2013 instalado e em execução Não posso voltar e verificar prontamente, mas sei que isso funciona no VS 2015/17 e sei que em pré-2015 a localização dos dados de configuração era diferente. Tanto quanto qualquer outra coisa, sou frequentemente frustrado com perguntas e respostas que surgem em uma pesquisa em que a resposta 'aceita' é antiga e obsoleta; portanto, achei que valeria a pena acrescentar que 'a partir de hoje' sua resposta é 'válida em 2015/17 "... há promessas para se ele irá ou não ser verdade em VS 2019 +++ :)
Cos Callis
Entendi o que você acha, mas acho que o IIS Express foi lançado com / ao mesmo tempo que o VS 2012, antes disso havia apenas o Cassini - IIRC ???
Confira este histórico, de 2011: abhijitjana.net/2011/08/05/… "O Visual Studio 2010 SP1 fornece integração completa com o IIS Express"
52

Para dar um círculo completo e incluir todas as versões do Visual Studio, o @Myster afirmou originalmente que;

Antes do Visual Studio 2015, os caminhos para applicationhost.config eram:

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

O caminho do Visual Studio 2015/2017 pode ser encontrado em: ( crédito: @Talon )

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

O caminho do Visual Studio 2019 pode ser encontrado em: ( crédito: @Talon )

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

Mas a parte que pode atrair algumas pessoas é que as configurações do projeto no arquivo .sln podem preencher novamente o applicationhost.config do Visual Studio 2015+ . ( crédito: @Lex Li )

Portanto, se você fizer uma alteração no applicationhost.config, também precisará garantir que suas alterações correspondam aqui:

$(solutionDir)\ProjectName.sln

As duas configurações importantes devem ter a seguinte aparência:

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

e

VWDPort = "Port#"

O importante aqui é que as duas configurações no .sln devem corresponder ao nome e bindingInformation respectivamente no arquivo applicationhost.config, se você planeja fazer alterações. Pode haver mais lugares que vinculam esses dois arquivos e eu atualizo à medida que encontro mais links por comentários ou mais experiência.

Joe
fonte
2

Para o Visual Studio 2019 (v16.2.4) , só consegui encontrar este arquivo aqui:

C: \ Usuários \\ Documents \ IISExpress \ config \ applicationhost.config applicationhost.config

Espero que isso ajude, pois não consegui encontrar o local da pasta .vs, conforme mencionado nas sugestões acima.

RichieMN
fonte
Isso é equivalente à primeira sugestão de %userprofile%\documents\iisexpress\config\applicationhost.config. Embora, se você executar através do visual studio, eu esperaria que ele usasse aquele no diretório .vs.
Myster
0

Eu acho que todas as respostas aqui são relevantes, no entanto, se, como eu, você estiver procurando de onde o Visual Studio tira o modelo quando ele cria uma nova versão do applicationHost.config , pode procurar aqui:

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

Isso acontece muito se você estiver trabalhando em várias ramificações do mesmo projeto e pressionando 'debug' em muitas delas. Fazer uma edição aqui garantirá que a edição seja propagada para qualquer nova pasta de projeto / solução criada.

A resposta veio indiretamente desta resposta

Phil Morris
fonte