Não foi possível iniciar o servidor Web IIS Express

310

Eu tenho uma solução asp.net MVC 4. Quando tento abri-lo usando o Visual studio 2012, recebo o seguinte erro:

Microsoft Visual Studio

https://localhost:Falha na configuração da Web para ASP.NET 4.5. Você deve configurar manualmente este site para o ASP.NET 4.5 para que o site seja executado corretamente. Não foi possível encontrar o servidor https://localhost:44300/na máquina local. Verifique se o servidor IIS local foi configurado para oferecer suporte a comunicações seguras.

OK Ajuda

Embora a solução seja aberta. Além disso, quando tento executá-lo no menu de depuração, recebo o seguinte erro:

 Unable to launch the IIS Express Web server.

The start URL specified is not valid. https://localhost:44300/

e não consigo depurar o código. como se livrar desses erros e depurar / executar o site do VS 2012?

Por favor sugira.


DotnetSparrow
fonte
4
As mensagens de erro são bem claras sobre o que está errado: 1) You must manually configure this site for ASP.NET 4.5 in order for the site to run correctly.e 2) The start URL specified is not valid.. Além disso, você parece estar usando HTTPS; O AFAIK IIS Express não suporta isso (e, se houver, você provavelmente precisará configurá-lo, daí a Make sure the local IIS server has been configured to support secure communicationsparte). Edit: Parece suportar SSL: riii.nl/apr5u , um guia passo a passo do próprio Hanselman!
RobIII
1
@ Robel, vejo que nas propriedades do site, na guia aplicativo, a estrutura de destino é 4.5 e, na guia Web, Iniciar ação é página atual. devo alterar o URL do projeto para localhost: 44300 ? Estou usando o IIS Express 8
DotnetSparrow
Era a configuração do firewall :(
Moumit
1
Consegui resolver esse problema da seguinte maneira: 1) Visual Studio - Opções -> Pesquisa - IIS 2) Marque "Use a versão de 64 bits do IIS Express para sites e projetos".
NanaFadanvis
Acho que isso ajudará o stackoverflow.com/a/54222339/2923956 .
Biswajit Panday

Respostas:

377

Eu tive o mesmo problema.
O motivo - arquivo de configuração inválido do IIS.

Tente excluir a IISExpresspasta criada automaticamente , que geralmente está localizada em %userprofile%/Documents, por exemplo C:\Users\[you]\Documents\IISExpress.

Não se preocupe, o VS deve criá-lo novamente - corretamente, desta vez - depois de executar sua solução novamente.


EDIT: Linha de comando para excluir a pasta:

rmdir /s /q "%userprofile%\Documents\IISExpress"
Yehuda Shapira
fonte
7
Isso funcionou para mim. Mesmo depois de desinstalar e reinstalar o IIS Express 8, ele mantinha o mesmo arquivo de configuração, então meu problema persistiu. Renomeei a pasta IISExpress para outra coisa e uma nova pasta foi criada com uma versão limpa do arquivo de configuração.
Nthpixel 18/07/2013
2
"Na sua pasta padrão" Onde exatamente é isso? Não estou vendo isso na minha solução.
Corey Ogburn
22
@CoreyOgburn Deve estar na pasta Documents e no IISExpress (por exemplo, C: \ Users \ Corey \ Documents \ IISExpress \ Config) e exclua a pasta de configuração. Eu tenho o mesmo problema, mas isso não foi corrigido para mim.
Arne H. Bitubekk
49
Obrigado. Só não se esqueça de fechar e reabrir o VS para reconfigurar o IIS Express.
precisa saber é o seguinte
6
@crokusek tem a resposta para a Atualização 3. do VS2015. Navegue até a pasta ".vs \ config" no diretório da solução e exclua o arquivo "applicationhost.config".
AJ.
234

Se estiver usando o VS2015 ou superior

Verifique se o processo iisexpress não está em execução.

Verifique se nenhum outro processo está usando a porta desejada. Você pode fazer isso executando

netstat -a -b

no console (como administrador, digite o cmdmenu Iniciar, clique com o botão direito do mouse e escolha 'Executar como administrador'). Se você vir uma entrada cujo estado seja ESTABELECIDO ou LISTENING, por exemplo, significa que algum outro processo está usando essa porta. Você precisará finalizar esse processo ou alterar a porta.

Em seguida, exclua o seguinte arquivo

<<path_to_solution_folder>>\.vs\config\applicationhost.config

note que a .vspasta pode estar oculta

em seguida, encontrar <<project-name>>.csproj.userarquivo, abra-o com o editor de texto (bloco de notas) e certifique-se IISUrlsob WebProjectPropertiesé configurado para <IISUrl>http://localhost:XXXXX/</IISUrl>onde XXXXXé o seu porto desejado.

depois de fazer isso e tentar iniciar o aplicativo, você pode obter

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Em seguida, vá para {Propriedades do projeto} -> Web e pressione o botão "Criar diretório virtual"

insira a descrição da imagem aqui

Mihail Shishkov
fonte
1
Isso funcionou perfeitamente no VS2015. Ocorreu um problema após a criação de um projeto de aplicativo Web herdado na solução principal do .NET.
Sebazzz
Isso funcionou, as ferramentas principais do .NET fizeram uma bagunça com o IISE: /
Keoz 18/07/16
Normalmente, eu moro no mundo OWIN / NancyFx, então, quando tive que fazer um projeto de API da Web após um hiato, fiquei perplexo, até ver essa resposta. - bom saber esse factóide - obrigado !!!
code4life
trabalho no VS 2915 @mihail eu não apaguei nada, apenas criei o diretório virtual ... o que ele precisa?
abdoutelb
4
@AbdouTelb verifique isso em iis.net/learn/get-started/planning-your-iis-architecture/… excluindo o arquivo .config, você basicamente garante que o arquivo será recriado por vs e, portanto, quaisquer problemas associados a ele (e pode haver muitos) desaparecerão. Esse arquivo é usado pelo IIS Express da mesma maneira que o IIS usa seu próprio arquivo applicationhost.config, portanto é o mesmo que restaurar os padrões de fábrica. Criar diretório virtual por si só não é suficiente para remover quaisquer problemas que possam ocultar no arquivo. No seu caso, você só tem :) sorte
Mihail Shishkov
85

@roblll estava certo. Mas para aqueles de vocês que não quiseram procurar a resposta, aqui está:

  1. Feche o Visual Studio (pode não ser necessário, mas não fará mal).
  2. Navegue para a pasta Documentos. É aqui que estava o meu diretório de configuração do IISExpress.
  3. Na pasta de configuração, há um arquivo chamado host do aplicativo. Abra isso.
  4. Procure o nome do seu projeto. Deveria ter sido adicionado ao Visual Studio quando foi bombardeado nas tentativas anteriores.
  5. Observe que há uma ligação para HTTP com a porta que você pretende usar para https.

    //Change this:
    <binding protocol="http" bindingInformation="*:44300:localhost" />
    
    //to this:
    <binding protocol="https" bindingInformation="*:44300:localhost" />
    

Lembre-se de que o Visual Studio pode ter fornecido portas diferentes das que você esperava. Apenas verifique se as portas na ligação correspondem ao que está na guia Web das propriedades do seu projeto.

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

Jacob Lauzier
fonte
5
Na verdade, eu estava abrindo um projeto desenvolvido em outro lugar, alterando a configuração do protocolo para https e recarregando o projeto, eliminando o erro. Obrigado @Jacob!
Geoffrey
Apenas excluir a pasta IISExpress não resolveu para mim. Após a exclusão, quando reiniciei o VS e abri este projeto, apareceu uma caixa de diálogo de erro, que foi resolvida somente depois disso. O projeto que baixei na página do asp.net , era um projeto de amostra.
Alisson
Btw, se você tiver ligações http e https, verifique se não está usando o mesmo número de porta nas duas.
Ziad Akiki #
41

Eu tive o mesmo problema, mas a solução que funcionou para mim foi diferente.

  1. Na depuração aberta do VS2013> Propriedades de {YourWebsiteName}
  2. Selecione a guia "Web".
  3. Em "Servidores", encontrei "Substituir URL raiz do aplicativo" foi verificado. Eu desmarquei e salvei.

Era tudo o que eu precisava para fazer as coisas funcionarem.

centralscru
fonte
Eu recomendo que você tente esta solução primeiro. Marcar a caixa com um URL inválido criará o erro mencionado na pergunta.
Timothy
16

Mesmo problema, mas necessário para iniciar o VS2013 no modo de administrador .

esteira
fonte
Infelizmente isso não me ajudou.
AH.
16

Tente as seguintes etapas:

  1. excluir o IISExpress pasta como disse @Yehuda Shapira
  2. reinicialização do computador
  3. exclua a pasta .vs no projeto

Tenha uma boa sorte!

sknight
fonte
1
1.Feche o Visual Studio 2.Exclua a pasta .vs que funcionou para mim. Se eu excluir o dolder .vs enquanto o VS estiver aberto. Não funciona.
akdora
Excluir a pasta .vs é a única coisa que funcionou para mim. A pasta .vs está localizada dentro da pasta do projeto, mas está oculta por padrão.
George
15

Eu tive o mesmo problema e, em seguida, abri o gerenciador de tarefas -> processos e finalizei o processo iisexpress.exe. Depois disso, tentei executar o aplicativo e consegui executá-lo com sucesso

Vinu
fonte
14

No meu caso, o projeto estava na unidade de rede e a exclusão da pasta IIS Express não ajudou, conforme descrito em outras respostas. Minha solução alternativa foi copiar o projeto para a unidade local e funcionou!

Amir Chatrbahr
fonte
12

Eu tive o mesmo problema, graças a @Jacob por fornecer informações sobre isso.

A razão é - entrada incorreta para o seu projeto no arquivo de configuração applicationhost localizado em

C:\Users\(yourusername)\Documents\IISExpress\config 
  1. Feche todas as soluções do Visual Studio.
  2. Renomeie a pasta IISExpress para alguma cópia do IISExpress (em vez de excluir, você pode ter uma cópia dela)
  3. Agora abra o VS novamente e crie / depure o projeto, agora você verá a pasta IISExpress criada para você novamente com a configuração correta.

Funcionou para mim e espero que funcione para você também.

user2732247
fonte
Eu tentei as etapas descritas nas outras respostas, mas essa foi a que funcionou para mim. Eu tive que renomear a IISExpresspasta. Excluí-lo não funcionou para mim.
Webdorm
não funciona para mim. tudo começou quando eu sujei com https
Toolkit
9

Eu tive o mesmo problema, a causa foi que o sinalizador "substituir URL raiz do aplicativo" foi definido em Propriedades -> Web Depois que removi o sinalizador, o IIS Express estava começando bem com a porta definida.

vm370
fonte
8

Parece que você precisa fazer algumas configurações conforme parece estar usando SSL; Aqui está um guia passo a passo do próprio Scott Hanselman .

RobIII
fonte
@ Roblll, eu não vejo a opção Usar o IIS Express quando clico com o botão direito do mouse no meu projeto MVC no VS 2012, vi que no VS 2010. Eu tento ativar o SSL para a solução nas janelas de propriedades e diz que a propriedade não é válida. Moreever, Em applicationhost.config arquivo, vejo várias entradas para a minha candidatura como webapplication (1), webapplication (2), webapplication (3)
DotnetSparrow
Eu tive o mesmo problema e o superei executando o VS2012 como admin ( stackoverflow.com/a/13682315 ). Não estou muito feliz com essa solução, mas não consegui encontrar outras.
brudert
No meu projeto, notei que o mesmo número de porta foi usado para SSL e não SSL. Então eu corrigi isso e o erro foi embora.
orad 22/01
5

A única solução que funcionou para mim foi criar outro projeto de teste. Depois, siga os próximos passos:

  1. Clique com o botão direito do mouse no projeto e vá para Propriedades -> Web

  2. Sob a URL do projeto na seção Usar servidor Web IIS local, copie a URL do projeto (http: // localhost: 59002 /) - isso é do projeto de teste.

  3. Navegue para o projeto que está dando esse erro. Clique com o botão direito do mouse no projeto e vá para Propriedades -> Web.

  4. Cole a URL do projeto na seção Usar servidor Web IIS local (URL copiada do projeto de teste). Feche o projeto de teste e salve.

  5. Exclua o projeto de teste e execute o projeto que deu o erro. Funciona depois disso ...

Talvez não seja a melhor maneira, mas foi a única maneira de fazer isso funcionar. Recebi essa mensagem de erro depois que recarreguei meu laptop (o disco rígido travou) e obtive todos os meus projetos no servidor onde eles estavam hospedados.

Kerieks
fonte
Agora não sei exatamente o que fiz com a minha solução, mas também foi a única maneira de corrigi-la. Eu até tentei mexer com o comando netsh, excluindo a pasta IISExpress, iniciando o VS no modo Admin e nada mais funcionou. Não sei onde mais o url: port é mapeado, mas usar o URL do projeto de outros parecia a única solução para mim.
Sergio A.
5

Compartilhando isso para futuros leitores. A criação manual de um diretório virtual funcionou para mim.

  • Selecionar projeto no Solution Explorer
  • Pressione Alt+Enter
  • Vá para a seção da Web
  • Clique em Criar diretório virtual
Mohammed Zameer
fonte
4

No meu caso, depois de permitir a solicitação externa ao meu site IIS Express e configurar o firewall do Windows para permitir o iisexpress.exe, não consigo iniciá-lo no Visual Studio 2013. Ainda posso iniciá-lo com a linha de comando e serve local e externo solicita bem.

C:\Program Files (x86)\IIS Express>iisexpress /site:MyWebSiteName

Tentei criar uma regra de firewall para permitir minha porta, depois que o VS funcionou.

deerchao
fonte
3

Eu tive o mesmo problema com o VS 2013 e, mesmo depois de todas as tentativas possíveis, ele não estava funcionando.

- In control panel (Program and Features) I found that all of the IIS related features were unchecked.I finally checked all of those and restarted my system.
- Then I started my VS 2013 as administrator and thats it everything
   worked fine then.

Pelo menos você pode tentar, pois funcionou para mim.

Saroj
fonte
3

Após duas horas pesquisando na web, encontrei minha solução como etapas abaixo - feche o visual studio - remova a pasta .vs do seu projeto - abra o visual studio e execute o projeto novamente

isso é bom para mim, divirta-se

Ali Sadri
fonte
2

Tivemos o mesmo problema com nossos sites. Consertamos tudo isso no Visual Studio. Estamos usando o 2012 Ultimate.

O problema subjacente que vimos foi que, com o SSL ativado, por algum motivo, o VS estava atribuindo a mesma porta para os URLs padrão e seguros. Esse problema parecia surgir quando estávamos retirando o código do TFS.

Para remediá-lo, realizamos as seguintes etapas:

  1. Clique com o botão direito do mouse no projeto e vá para Propriedades -> Web
  2. Sob o URL do projeto na seção Usar servidor Web IIS local , remova os "s" do URL e salve. (Por exemplo, vá de https: // : 44301 para http: // : 44301. Isso permitirá que o próximo passo funcione)
  3. No Gerenciador de Soluções, selecione o Projeto e, na janela Propriedades (pressione F4, se não for exibido), altere o SSL Ativado para Falso e, em seguida, retorne para Verdadeiro . Ele gerará uma nova porta diferente da URL padrão (no meu caso, tenho 44301 como SSL e 44305 como padrão)
  4. Navegue de volta para Propriedades -> Web e adicione os "s" de volta ao URL do projeto.
  5. F5 e passeio!

Verifique se a caixa de seleção Substituir URL raiz do aplicativo está desmarcada.

JimmyV
fonte
2

verifique o firewall do antivírus e permita o acesso ao visual studio na rede. por exemplo em nod32:

goto setting (f5) -> network->personal firewall->rules and zones

no " zone and rule editor" clique " setup" e encontre o vs 2010ou 12ou ... e permita o acesso à rede.

hadi ab
fonte
2

Depois de desativar o firewall, consegui executá-lo sem problemas.

Mahaling Khubba
fonte
2

Corri para esse erro hoje. Executando o Win 8.1 e o VS 2013. De repente, meus projetos não puderam mais ser executados e recebi a mensagem "Não foi possível iniciar o servidor Web IIS Express" e nenhuma informação adicional.

Depois de um tempo, descobri que todos os projetos que o IIS Express não podia iniciar estavam em execução .net 3.5. Projetos executando versões posteriores começaram bem.

A solução para mim foi remover o .net 3.5 (no painel de controle -> ativar / desativar os recursos do Windows), reiniciar o Windows e adicionar o .net 3.5 novamente.

fefferoni
fonte
2

Eu tive o mesmo problema, no meu caso, limpei e reconstruí minha solução e funcionou para mim

RCanhestro
fonte
2

Bem, nenhuma das etapas acima mencionadas funcionou para mim. No meu caso, de applicationhost.configalguma forma, meu arquivo estava faltando as duas linhas de código a seguir

 <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
    <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

Espero que isso possa ajudar alguém.

Jasrotia Anshuman
fonte
2

Antes de tentar qualquer outra coisa, 1. reinicie o visual studio (principalmente para atualizar as opções residentes de memória dos arquivos) e 2. reinicie o sistema (principalmente para bloqueio de arquivo inválido). Se o seu problema for tão temporário ou auto-corrigido, ele ficará sem alterar nada. Funcionou para mim com o reinício do PC. Além disso, se você trabalha em um projeto para vários usuários, verifique se possui a versão mais recente possível - alguém pode ter verificado algo inválido por engano, por exemplo, no arquivo do projeto e você mexe com seu sistema sem motivo. Se isso não funcionar, é provável que você precise alterar algumas configurações que estão presas, ausentes ou que precisam de modificação - há muitas propostas em outras respostas.

Stefanos Zilellis
fonte
1

Eu tive um problema semelhante ao executar minha solução do VS2012:

Unable to launch the IIS Express Web server.  
The start URL specified is not valid. https://localhost:44301/

Eu selecionei o projeto incorreto como Projeto de Inicialização. Fiz o projeto Cloud a inicialização (clique com o botão direito do mouse em projeto -> Definir como projeto de inicialização) e tudo começou a funcionar bem.

scottndecker
fonte
Também deve ser acrescentado que o URL de inicialização precisaria ser definido ou definido como "Página atual" ou "Página específica" - pelo menos verificado. O meu foi definido como "Não abra uma página. Aguarde uma solicitação de um aplicativo externo" e, como resultado, ocorreu esse erro, além do problema do projeto de inicialização.
vapcguy
@Moumit você votou negativamente? Você pode explicar o seu comentário?
scottndecker
1

A série de artigos de Jason's Shavers aqui http://jasonrshaver.com/?tag=/Client+Certificates explica exatamente como configurar a entrada do site applicationhost.config para permitir que o aplicativo seja executado em SSL ou HTTP padrão.

Uma das coisas que ele recomenda é colocar duas entradas obrigatórias para o site. Foi o que eu fiz.

            <bindings>
                <binding protocol="http" bindingInformation="*:59945:localhost" />
                <binding protocol="https" bindingInformation="*:44300:localhost"/>
            </bindings>

Ele também recomenda alterar outras configurações também. Funcionou em duas das minhas três máquinas. Sempre que me dizem para configurar manualmente um site no host do aplicativo, geralmente isso tem a ver com as ligações. (exemplo, usando a mesma porta para vários aplicativos da web.)

user1161391
fonte
1

Eu tive o mesmo problema depois de instalar o Visual Studio 2013 Update 3.
VS 2013 can not load Microsoft.VisualStudio.TraceLogPackage.dll
Unable to launch the IIS Express Web server

Meu problema foi resolvido executando as seguintes etapas:

1. Reparo Visual Studio 2013 Update 3
2. Inicie o Developer Command Promptcomo administrador.
3. Digite devenv.exe /setupe pressione enter

Mohammad Dayyan
fonte
1

Eu tive o mesmo problema. Eu havia excluído muitas pastas no C:/users/caminho para liberar espaço na minha máquina. Depois disso, comecei a receber esse erro.

Eu apenas tive que reiniciar minha máquina e tudo funcionou bem.

Yasser Shaikh
fonte
1

Meu problema exigia uma solução tripla:

  1. Remova a pasta IISExpress na sua pasta Documentos.
  2. Defina o projeto da web como seu projeto de inicialização clicando com o botão direito do mouse e selecione "Definir como projeto de inicialização" ou faça isso através das propriedades da solução.
  3. Defina o URL de inicialização ou defina como "Página atual" ou "Página específica". O meu foi definido como "Não abra uma página. Aguarde uma solicitação de um aplicativo externo" e tive que alterá-lo para "Página específica", que deixo em branco para que ele vá para a página inicial do meu aplicativo antes que trabalhos.
vapcguy
fonte
1

Meu problema acabou sendo resolvido quando observei a chave de registro do IIS Express:

HKEY_CURRENT_USER\Software\Microsoft\IISExpress

Eu tinha uma entrada CustomUserHomeapontando para Meus sites, o que estava causando estragos.

AndyKenZ
fonte
1

Eu configurei o compartilhamento de conexão com a Internet na minha máquina para máquinas virtuais. Desliguei e consegui depurar no Visual Studio 2015 . No entanto, para depurar consistentemente após uma reinicialização, eu precisava configurar o serviço de compartilhamento de conexão com a Internet para inicialização manual, mesmo que nenhuma das minhas conexões com a Internet tivesse o compartilhamento de conexão com a Internet ativado.

Giles Roberts
fonte