ASP.NET 5 MVC: não é possível conectar ao servidor Web 'IIS Express'

190

O que eu estou fazendo:

A exclusão applicationhost.config, localizada em Documents\IISExpress\config, não altera a mensagem de erro. (Também há uma IISExpresspasta em program filese program files (x86).)

Algo que notei e não sei se é um problema:

Arquivo referenciado 'lib / jquery-validation / jquery.validate.js' não encontrado.

Eu tenho um despejo com rawcap, mas não percebo muito lá. Parte do que estava lá:

"Framework": {"FrameworkName": "DNXCore, Versão = v5.0", "FriendlyName": "DNX Core 5.0", "ShortName": "dnxcore50", "RedistListPath": null}

Não percebo um problema, mas tenho os dados da rede, se isso pode ajudar a descobrir por que não consigo me conectar ao servidor da web. Recebo um RST,ACKimediato, então acho que a porta está fechada e, seja qual for esse servidor da web, não está sendo configurado.

Mais sobre esse problema: erro 800700c1 de / trace: error

Eu tentei:

  • excluindo applicationhost.config (e alterando o número da porta)
  • executando o visual studio como administrador
  • excluir a pasta IISExpress em Documents (altera a mensagem de erro até a pasta ser reinstalada)
  • ativando e desativando o ssl, copiando o URL para a caixa de inicialização. (nota: não estou usando ssl)
  • limpando todos os erros sfc / scannow
  • iniciando o iisexpress com a versão x86 e a versão de 64 bits
Sarek
fonte
1
Isso ajuda? stackoverflow.com/questions/15873126/… . Ou mudando a porta? stackoverflow.com/questions/23502327/…
mariocatch 27/02
1
tente quando você abre estúdio de clique direito visual e aberta como administrador ..
Hazem Torab
Estou tentando todas as sugestões que as pessoas me dão, mesmo que eu tenha tentado antes.
Sarek
você pode abrir um novo projeto e verificar se isso está funcionando? Reiniciar o PC? Mover projeto para outro diretório
Sebastian 506563 27/02
1
Obrigado, mas isso também não funcionou.
Sarek 28/02

Respostas:

254

Depois de instalar a Atualização 2 para o Visual Studio 2015, comecei a receber o mesmo erro. Eu tentei tudo acima sem sorte. No entanto, encontrei uma solução que funciona para mim:

  1. Exclua o arquivo YourSolutionFolder \ .vs \ config \ applicationhost.config (nota: .vs é uma pasta oculta)
  2. Abra o Visual Studio, clique com o botão direito do mouse no site> Propriedades> guia Debug> Configurações do servidor Web> URL do aplicativo - altere o número da porta.
Victor Stagurov
fonte
Cara, meu erro voltou, encontrei isso também em outro site, mas ele continua dando o erro. Me irritando. Eu executaria o console da web, mas isso não tem um inspetor, para que eu possa apenas pressionar Ctrl + s, atualizar.
René Sackers
Omg, isso funciona. Excluí a pasta IISExpress nos meus documentos, excluí o arquivo e comecei a receber esse erro, mas a resposta aceita foi a solução: stackoverflow.com/questions/33166403/… e agora está funcionando: |
René Sackers
3
Para mim foi.vs\config\<MyProject>\config\applicationhost.config
laggingreflex 17/04/19
2
onde você vê web siteque precisa clicar com o botão direito do mouse?
CodyBugstein
14
Para o projeto Net Core 2.2 - Depois de um grande esforço e tentando de tudo, desde a exclusão da pasta .vs, a exclusão das configurações do IIS Express, a alteração de números de portas, a alteração de ligações e a execução do VS como administrador, finalmente resolvi o problema com 1. fechando o VS, 2. excluindo launchSettings.json3. abertura do VS que foi gerado novamente launchSettings.json. Não era aparente que o arquivo estava corrompido ou incorreto ou mesmo quando foi alterado para causar falha.
Quinton Smith
189

Saia do VS e exclua o arquivo (projeto) .vs \ applicationhost.config. Reinicie o VS. Deve começar a funcionar.

dwoodard
fonte
19
Isso funcionou para mim no VS2017, sem precisar alterar a porta.
mlienau
4
Depois de fazer isso por mim, era necessário executar o Visual Studio como administrador e funcionou, obrigado!
DigaoParceiro
5
Especialmente o EXECUTAR COMO ADMINISTRADOR é importante para mim. (embora eu tenha o Asp.net Core 2.0 VS2017.)
Bart Mensfort
1
Excluída toda a .vspasta e trabalhou para mim, só que
FindOutIslamNow
9
A reinicialização do VS2017 não foi corrigida, mas a reinicialização do computador foi corrigida para mim. Não foi necessário alterar a porta ou excluir a pasta. Espero que ajude os outros.
21418 Tonmoy
32

Tente usar uma porta diferente. Acabei de configurar um novo projeto Core 1.0 RC1 e recebi o mesmo erro.

  • Clique com o botão direito do mouse no projeto da web
  • Guia Debug
  • Ativar e desativar o SSL novamente, ele deve gerar uma nova porta aleatória
  • Copie o URL SSL e cole na caixa Iniciar URL
  • Execute o projeto

Trabalhou para mim (TM).

Resposta de: https://stackoverflow.com/a/28650554/134761

insira a descrição da imagem aqui

angularsen
fonte
1
Funcionou mas apenas quando usei a porta 60000. a porta 6000 retornou erro: porta não segura.
EKanadily
Não funcionou no Visual Studio 2019 - apenas usou a mesma porta todas as vezes.
EJoshuaS - Restabelecer Monica 24/03
@ EJoshuaS-ReinstateMonica Eu acredito que isso mudou muito. Veja como sua Startupclasse está configurada e quais appsettings.jsonarquivos você possui. Também há Properties\launchSettings.jsonpara lançar perfis diferentes localmente. docs.microsoft.com/en-us/aspnet/core/fundamentals/… dejanstojanovic.net/aspnet/2018/december/…
angularsen
27

Eu enfrentei esse problema no .net core 2.0 quando atualizo o número da porta do meu projeto.

Consegui resolver o problema em duas etapas:

  • PASSO 1: EXCLUIR a pasta .vs que está oculta na pasta principal da solução. (feche o visual studio antes disso) e, quando você iniciar novamente o visual studio, essa pasta e arquivo (applicationhost.config) dentro dele serão criados automaticamente pelo visual studio.
  • ETAPA 2: Para vários projetos de inicialização , se você ainda estiver enfrentando problemas, execute um por um projeto como inicialização e, em seguida, execute como projeto de inicialização múltipla.
Saurin Vala
fonte
A solução funcionou. Obrigado :) Que tal DELETE a pasta .git também?
krunal.cp
24

Eu tive esse problema no .net core 2.1, visual studio versão 15.9.6. Quando excluí a pasta .vs, reabrei o visual studio e o problema ainda estava lá. A solução que funcionou para mim abaixo:

  1. Exclua a pasta .vs (é uma pasta oculta).
  2. Reinicialização do computador.

Outras soluções:

  • Feche o Visual Studio, exclua as pastas bin e obj da pasta do projeto. Abra o Projeto e reconstrua a solução.
  • Tente executar o Visual Studio como administrador.
  • Solução limpa e reconstrua
  • 1) Solução Limpa. 2) Saia do Visual Studio. 3) excluir pasta .vs 4) reabrir o Visual Studio
Daniaal
fonte
Consegui fazer isso desligando apenas o Visual Studio, excluindo a pasta .vs, informando o Visual Studio novamente.
Robert Bratton
Sim, funciona para alguns, não no meu caso. Não faço ideia por que não funcionou. A única coisa que fez foi reiniciar o meu computador.
Daniaal 16/06/19
2
Consegui isso depois de uma tela azul. Teve que excluir a pasta .vs e reiniciar o computador . Reiniciar o visual studio não foi suficiente.
10139
2
Meus passos foram compactados para: 1) Solução Limpa. 2) Saia do Visual Studio. 3) excluir pasta
.vs
1
@ samneric Obrigado por isso, vou lhe adicionar a solução para a resposta :)
Daniaal
13

Execute o VisualStudio com privilégios de administrador e execute o projeto. Em seguida, feche o VisualStudio e todos os erros e execute o VisualStudio novamente com o usuário normal.

Isso fez por mim.

Parece que o IIS precisa escrever algo em alguma configuração com privilégios de administrador (a porta 80 não funcionou com o usuário normal, mas a porta 6767 funcionou bem).

Tadej
fonte
5
Somente permissões de administrador permitem que o aplicativo se ligue a um número de porta menor que 1024. É por isso que 6767 funciona para você.
Lex Li
12

Eu tive o mesmo problema, consegui resolvê-lo alterando o número da porta.

  1. Clique com o botão direito do mouse no projeto e selecione propriedades

  2. Vá para a seção Debug

  3. Em Configurações do servidor Web, altere a porta do URL do aplicativo [apenas aumente em um :)]

insira a descrição da imagem aqui

Akbar Badhusha
fonte
10

No meu caso, havia outro aplicativo escutando na mesma porta à qual o IIS Express estava tentando se conectar. Eu tenho que correr netstat -aopara ver o PID do processo que é usar a mesma porta e aplicativo de desligamento. No meu caso, o aplicativo foi o Viber.

codevision
fonte
10

A solução que funcionou para mim foi: Fechar o projeto VS No File Explorer, navegue até o projeto e exclua toda a pasta ".vs" Reinicie o projeto Executar como "Debug" funciona Aparentemente, isso tem algo a ver com o "applicationhost .config ".

Aproveitar!

Amit Kumar Verma
fonte
10

Muitas dessas respostas não abordam completamente o problema em questão. O verdadeiro problema para mim era que eu tinha duas ligações usando a mesma porta no meu arquivo applicationhost.config E não havia aberto a porta para minha segunda ligação (não localhost) . O VS permitirá que você ainda execute nessas circunstâncias, mas apenas se você estiver no modo de administrador (daí todas as respostas acima).

Você está essencialmente criando duas instâncias expressas do IIS do seu aplicativo na mesma porta, portanto, alterar uma das portas no arquivo applicationhost.config permitirá que você continue. No entanto, existem dois arquivos applicationhost.config diferentes. Você deseja selecionar o que tem o IP e a porta de ligação que vê nas propriedades do seu projeto

insira a descrição da imagem aqui.

Vá para a pasta onde você pode ver a solução do projeto e as pastas do projeto (mostrar itens ocultos no Gerenciador de Arquivos). Navegue até a pasta .vs oculta -> pasta "YourAppName" -> config. Ele deve conter as informações de ligação que você viu nas propriedades do seu projeto.

Exemplo:

<bindings>
    <binding protocol="http" bindingInformation="*:7000:127.0.0.1" />
    <binding protocol="http" bindingInformation="*:7000:192.168.0.5" />
</bindings>

Altere um desses números de porta para algo diferente de "7000" para que você não esteja tentando usar a mesma porta.

No meu caso, estou usando um endereço 192 que não é um endereço de host local, portanto, preciso usar alguns comandos netsh para abrir essa porta e fazer o ip up. Aqui está um link que mostra como abrir portas para o IIS Express para permitir conexão remota. A execução como um usuário normal não funcionará, a menos que você execute os comandos netsh listados.

Aqui estão os comandos netsh:

  1. netsh http add urlacl url = http://192.168.1.42:58938/ user = everyone
  2. netsh advfirewall firewall adicionar nome da regra = "IISExpressWeb" dir = no protocolo = tcp localport = 58938 profile = private remoteip = localsubnet action = allow

Copie esses comandos e execute-os no cmd com privilégios de ADMIN e com SEU endereço IP e número da porta.

MedievalCoder
fonte
Esta foi a solução para mim, obrigado
WeisserHund
8

Acabei de alterar meu perfil de "IIS Express" para "MyProjectName" (que acho que está usando o kestrel como servidor http em vez do IIS) e agora está funcionando bem:

insira a descrição da imagem aqui

Tadej
fonte
Esta não é uma solução, mas uma solução alternativa. Sua resposta sugere o uso de um servidor diferente - Kestrel - enquanto o OP claramente está tentando fazer o IIS-Express funcionar.
Prolog
2
Após três dias de arrancar o cabelo, essa solução me ajudou. Obrigado
Meir
7

ESCLARECER

Realmente muitas respostas são as mesmas e dizem algo como "Reinicie e funcione magicamente novamente".

Bem, 9 em 10 vezes as pessoas têm esse problema como o OP, porque O ENDEREÇO ​​IP JÁ ESTÁ EM USO.

RESPONDA

Pode haver 2 endereços IP em uso. Ambos você pode encontrar por:

1) Clique com o botão direito do mouse no projeto de inicialização

2) Clique em "Propriedades"

3) Clique na aba "Debug"

Aqui você vê o "URL do aplicativo" e o "URL SSL".

  • Se o seu "URL do aplicativo" estiver em uso, basta alterá-lo e salvá-lo, e ele deverá funcionar novamente.

  • Se o seu "URL SSL" estiver em uso, feche o VS, exclua o arquivo "applicationhost.config" na pasta .vs oculta do seu projeto e abra o VS novamente.

Svenmarim
fonte
6

Consegui alternar esse erro alterando uma única coisa. No launchSettings.jsonarquivo do meu projeto ASP.Net Core 1.0 RC2 Web Application :

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:18177/",
      "sslPort": 0
    }
  },

para

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:18177/",
      "sslPort": 0
    }
  },

Eu havia mudado para https na tentativa de executar o projeto usando esse protocolo. Aparentemente, este não é o lugar para fazer essa alteração. Eu suspeito que ele esteja criando várias ligações na mesma porta e o IIS Express não gosta disso.

redwards510
fonte
Eu tive que fazer isso para aumentar o número da porta. meu post original foi 'preso' e eu não tenho tempo agora para reiniciar ou descobrir como corrigi-lo
Simon_Weaver
6

Eu tive esse mesmo problema, mas a maneira como eu o corrigi foi acessar o applicationhost.config e remover uma porta que não foi adicionada por mim (o IIS Express eu acho) que colocou meu site de porta específico em outra porta.

Aqui está o que o arquivo de configuração tinha para minhas ligações:

<bindings>
      <binding protocol="http" bindingInformation="*:54764:localhost" />
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Eu removi o primeiro item de ligações, pois a única porta que eu queria era 44360. Meu arquivo de configuração agora fica assim:

<bindings>
      <binding protocol="https" bindingInformation="*:44360:localhost" />
</bindings>

Agora não vejo o erro ao depurar.

Também notei que minha segunda API no meu projeto tinha a porta 80 também atribuída, removi-a também.

Jeff
fonte
5

exclua as pastas bin e obj da pasta do projeto e reconstrua.

Muhannad
fonte
Embora uma limpeza manual muitas vezes ajude, ele não resolverá o problema nesse caso, pois o problema reside no arquivo applicationhost.config e é provavelmente causado pela tentativa de usar o mesmo endereço IP duas vezes
MedievalCoder
5

Acabei de limpar minha solução, depois a reconstruí e finalmente pressionei F5 e funcionou! Tão simples.

noobprogrammer
fonte
4

Não pretendo entender completamente qual bug da Microsoft cria esse problema, mas aqui está outra solução em potencial:

No arquivo .vs / config / applicationHost.config, localize a seção para <system.applicationHost><applicationPools>. Sob os pools, verifique se o managedRuntimeVersionvalor do atributo corresponde ao valor que está na configuração do IIS para o sistema (e / ou a versão da estrutura .NET instalada).

Por exemplo, você pode descobrir (como eu fiz) que o arquivo gerado possui:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

No meu caso, você poderia substituir isso por:

    <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0.30319" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

Observe a substituição de "v4.0" para "v4.0.30319". Isso resolveu o problema.


O que parece estar acontecendo:

Acredito que o VS está gerando um arquivo applicationHost.config com versões "padrão" para o .NET framework, que pode não corresponder à versão específica instalada / configurada no sistema. Você pode depurar / observar esse problema rastreando a execução no Process Monitor e localizando a linha de comando do iisexpress.exe. A execução desse comando com /trace:erroradição gera uma mensagem mais informativa sobre uma falha ao pré-carregar o CLR com a versão v4.0. A saber:

Iniciando o IIS Express ...
Falha ao tentar pré-carregar a versão v4.0 do CLR. hr = 80131700
Falha ao inicializar o W3WP_HOST hr = 80131700
Encerramento do modelo de processo chamado
Não foi possível iniciar o iisexpress.


De qualquer forma, achei que isso poderia ser útil para outra pessoa, já que é comum o suficiente ter várias referências on-line com informações ruins, e eu já as encontrei algumas vezes.

usuario
fonte
Nenhuma dessas soluções funcionou para mim: se você instalou o Windows IIS padrão (que acompanha o Windows) e tem acesso a ele, tente usá-lo, que resolveu o meu problema, basta adicionar um novo site ou novo aplicativo e pronto, mesmo assim, é estranho que o IIS Express não consiga abrir a página. Se precisar rastreá-lo, basta anexá-lo a um processo usando ctrl + alt + pteclas de atalho, marque Show process for all userse selecione w3wp.exe(às vezes é necessário atualizar o site para encontrar w3wp.exe) e, em seguida, pressione o Attachbotão.
Mohammad Musavi
3

Experimente primeiro se estava funcionando e parou de repente:

  • Feche o Visual Studio
  • Matar processos iisexpress.exe
  • Reabrir o Visual Studio
Simon_Weaver
fonte
3

O meu acontece assim que adiciono uma nova ligação dentro do applicationhost.config, executando como administrador, corrigindo o problema.

goamn
fonte
3

Apenas feche o estúdio visual, reabra e execute. Funcionou para mim.

T-Jayanth Dore
fonte
3

Para mim, o problema era que outro processo estava usando a mesma porta. (No meu caso, era o Outlook que usava a mesma porta do meu site e, portanto, meu site não pôde ser iniciado)

Sim, você pode alterar a porta local, mas se estiver executando uma API ou algo que outros aplicativos precisam, nem sempre você deseja fazer isso.

Para obter uma lista de quais aplicativos estão usando qual porta, abra o CMD e digite "netstat -aon". Você receberá uma lista de portas. Encontre a porta que seu site deve usar ou que você deseja usar e anote / lembre-se do PID.

Agora abra o gerenciador de tarefas e clique na guia 'detalhes'. Encontre o processo com seu PID e termine-o. Agora você deve conseguir iniciar o IIS Express com essa porta.

Enrico
fonte
3

Consegui resolver isso reiniciando meu computador. Tentei algumas coisas sem sucesso e finalmente desisti e reiniciei o computador. Está funcionando bem agora há alguns dias depois que eu reiniciei. Provavelmente o resultado de algum processo que foi interrompido.

Keenan Stewart
fonte
3

Para mim, foi uma mistura de seguir estas instruções :

Exclua .vs \ applicationhost.config do seu aplicativo da web e tente novamente.

E então, talvez o mais importante, executando o Visual Studio com privilégios de administrador.

contactmatt
fonte
3

Eu adicionei .UseUrls("https://localhost:<some port>/")ao Program.cs. Isso pareceu fazer o truque para mim!

Helzgate
fonte
2

Eu simplesmente alternei em "Ativar SSL". Isso resolveu meu problema.

  1. Clique com o botão direito do mouse no projeto da web
  2. Guia Debug
  3. Alterne Ativar SSL "ativado" (se estiver desativado, qual foi o meu caso)
Harun Altay
fonte
2

Acabei de encontrar o mesmo problema e matei todos os processos "iisexpress.exe" que ainda estavam em execução. Isso funcionou para mim!

poveilleux
fonte
2

Minha solução (para o .net core 2.0) foi que eu esqueci de adicionar o número da porta no applicationUrl, no iisExpress, no launchSettings.json

"iisExpress": {
  "applicationUrl": "https://localhost:50770",
  "sslPort": 50770
}
Numm3n
fonte
Quando launchSettings.jsoné gerado ou atualizado automaticamente pelo VS, o applicationUrldeve ter /no final. Mais informações podem ser encontradas em blog.lextudio.com/…
Lex Li
2

O problema pode ser porque [√] Enabled SSLfoi selecionado para o seu projeto (consulte a Debugguia na janela de configurações do projeto), mas o Visual Studio decide ser burro e configurar algo parecido http://localhost:32396. A razão pela qual falha é porque 1. não é HTTPSe 2. o certificado não é válido. Para forçá-lo, você precisa usar uma porta no intervalo 44300-44398.

Consulte https://stackoverflow.com/a/24957146/1236397

James Wilkins
fonte
1

Tente em cmd

taskkill /im iisexpress.exe /f
taskkill /im dotnet.exe /f

e pressione f5. Não altero portas, excluo arquivos ou reinicializo o VS.

D. Nikitin
fonte
Pode ser que você explique um pouco. Acabar com o processo pode não ser a resposta aqui. E depois?
Shiham