O Projeto de aplicativo da Web […] está configurado para usar o IIS. O servidor da Web […] não foi encontrado.

285

Eu tenho um projeto da web no meu arquivo de solução que está "indisponível" quando abro a solução. Quando clico com o botão direito do mouse no projeto da Web e recarrego o projeto, recebo o seguinte erro:

The Web Application Project mycompany.myapp.mywebproject is configured to use IIS. The Web Server 'http://localhost/MyWebApp could not be found.

Não configurei manualmente diretórios virtuais para este aplicativo Web.

Por colegas, o Visual Studio deve solicitar que eu crie diretórios virtuais, mas não estou sendo solicitado.

Eu instalei o VS2010 antes de instalar o IIS na minha máquina de desenvolvimento.

Aqui está a minha configuração da máquina de desenvolvimento:

  • Windows 7 Enterprise
  • Service Pack 1
  • SO de 64 bits
  • Visual Studio 2010 Enterprise Service pack 1
  • IIS versão 7.5
praticante de dotnet
fonte

Respostas:

87

Quando isso acontece, a solução mais fácil é criar o diretório virtual manualmente.

Primeiro de tudo, você precisa ter a versão correta do ASP.Net instalada e as extensões do IIS.

Para fazer isso, vá para a pasta da versão .net relevante em C: \ (Windows) \ Microsoft.NET \ Framework \ (dotnetver) \ (substituindo as pastas entre colchetes pelas pastas corretas no seu PC) e execute este comando

aspnet_regiis.exe -i

Em seguida, uma vez concluído e concluído, às vezes executando

iisreset

na linha de comando ajuda, às vezes você não precisa.

Em seguida, vá para o Gerenciador do IIS, encontre o site do host local e escolha adicionar uma pasta. Navegue até a pasta no seu projeto que contém o projeto ASP.Net real e adicione-o.

Por fim, clique com o botão direito do mouse na pasta que você adicionou e você deve ter uma opção que diz 'converter para aplicativo' ou 'criar diretório virtual' ou algo semelhante.

!! Verifique se o diretório virtual tem o nome 'MyWebApp' !!

Recarregue sua solução e ela deve funcionar.

Por favor, seja cauteloso; essa não é uma pergunta de programação (e realmente não deveria ser postada aqui), mas eu publiquei essas orientações, pois é um problema comum, mas os conselhos que publiquei são genéricos; os comandos que listei estão corretos, mas as etapas que você precisa executar no IIS podem variar, dependendo da sua versão e dos privilégios da sua conta.

Boa sorte!

Russ Clarke
fonte
Segui as instruções e obtive o seguinte erro. Excluí meu diretório virtual por causa desse erro, para começar. Não é possível adicionar a entrada de coleção duplicada do tipo 'add' com o atributo de chave exclusivo 'name' definido como 'Telerik_Web_UI_WebResource_axd'
dotnet-
O que dá esse erro, IIS ou Visual Studio quando você inicia a solução?
Russ Clarke
Além disso, verifique o web.config para o seu novo projeto asp.net, pois ele tem duas ou mais referências ao 'Telerik.WebResource.axd', ele só precisa de um.
Russ Clarke
Eu verifiquei o web.config. Quando removo a entrada incorreta, recebo a mensagem de erro de que a entrada removida é necessária.
dotnet-practitioner
prestes a postar uma pergunta separada em breve para a nova mensagem de erro #
611 dotnet-
523

Como a resposta aceita requer o Gerenciador do IIS e o IIS Express não possui o Gerenciador do IIS ou qualquer interface do usuário, eis a solução para você, usuários do IIS Express (e também deve funcionar para todos os outros):

Quando você abre o Visual Studio e recebe a mensagem de erro, clique com o botão direito do mouse no Gerenciador de Soluções do projeto e escolha "Editar {ProjectName} .csproj"

No arquivo do projeto, altere a seguinte linha:
<UseIIS>True</UseIIS>
para
<UseIIS>False</UseIIS>
Salvar o arquivo.

Agora recarregue seu projeto.
Feito.

Você poderá abrir seu projeto. Se, nesse ponto, você quiser usar o IIS, basta acessar as propriedades do projeto, clicar na guia "Web" e selecionar a opção para usar o IIS. Há o botão lá para "Criar diretório virtual". Pode dizer que você precisa executar o Visual Studio como administrador para criar esse diretório, se necessário.

Doug S
fonte
33
em VS2010 UseIIS não está na arquivo csproj, mas em .csproj.user arquivo
Oleksa
2
No meu caso, eu ainda quero usar o IIS, então simplesmente mudei o URL, funcionou perfeitamente graças.
kjetilh
Eu tenho esse problema ao atualizar e mover. Isso funcionou para mim, embora, como a solução não estava carregando, eu apenas abri o csproj no editor de texto. Obrigado Doug.
Kieran
2
Essa é a resposta correta. O projeto está configurado para usar o IIS e o IISExpress ao mesmo tempo.
Aaron Reed
2
Usando o VS2013, não vejo Edit {ProjectName} .csproj ao clicar com o botão direito do mouse na solução. Eu realizei a edição indo para o sistema de arquivos e editando manualmente o arquivo .csproj. Era somente leitura, então eu tive que dançar um pouco, mas funcionou.
Al Lelopath
222

Abra a pasta do projeto e exclua {Project} .csproj.user e recarregue o projeto no Visual Studio.

qjuanp
fonte
2
Eu era o único na nossa equipe que estava vendo esse erro do IIS. A equipe de desenvolvimento com a qual trabalho tinha o mesmo arquivo .csproj do controle de origem, portanto as outras soluções acima não eram o meu problema. Acontece que o arquivo .csproj.user que você mencionou estava causando esse erro na minha situação. Obrigado!
minha pilha transborda
3
Isso funcionou para mim depois de tentar tudo o mais
David
3
Essa é a resposta correta. Ele resolve um problema com a configuração do projeto em sua máquina (especialmente importante ao trabalhar com o TFS).
Markus
1
Essa também é a solução se você definiu uma tag iisurl personalizada, mas o projeto ainda é iniciado no host local <IISUrl> MachineName.domain: 12345 / </ IISUrl >
lsp
5
Este funcionou para mim. Não havia nenhuma configuração <UseIIS> no meu caso.
Techgration
33

Esta solução funcionou para mim: Clique com o botão direito do mouse no projeto e selecione editar e encontre o seguinte código, como mostrado abaixo na figura.

change the <UseIIS>True</UseIIS> to <UseIIS>False</UseIIS>

OU

change the <IISUrl>http://example.com/</IISUrl> to <IISUrl>http://localhost/</IISUrl>

captura de tela csproj

Umar Abbas
fonte
30

para mim, eu tive que excluir essas duas linhas do arquivo .csproj

<ProjectGuid>{3AA499DF-4A65-43B7-8965-D08A4C811834}</ProjectGuid>
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Tentei excluir apenas o primeiro, mas não foi suficiente.

EDIT: Como muitos usuários apontaram, isso pode alterar o tipo do seu projeto ou interferir no seu programa de controle de origem. Não posso investigar esses problemas, pois era um projeto escolar que não tenho mais. Por favor, tenha cuidado ao tentar isso. Pelo menos, faça uma cópia do que você excluir.

kisslory
fonte
9
Este funcionou e este deve ser marcado como uma resposta. Tentei muitas soluções, como sugerido no SO, mas nenhuma funcionou para mim, exceto esta.
Bose_geek
3
Depois de tentar todas as sugestões acima, essa é a que realmente funcionou para mim. Obrigado meu cara!
Noble-Savage
2
Isso muda para o tipo de projeto e, portanto, não é mais um aplicativo Web.
Oram
3
Não é uma boa ideia remover <ProjectGuid> do arquivo .csproj. Para carregar o projeto, basta remover apenas <ProjectTypeGuids>, o que também é uma má ideia, pois altera o tipo de projeto, como o @Oram mencionado. Essa resposta é boa se você não deseja confirmar suas alterações, basta olhar para o código no VS.
elshev
1
Isso resolveu os erros de carregamento do gerenciador de soluções que encontrei com uma empresa do Visual Studio 2010 que estou mudando para 2013. O arquivo de solução possui 2 projetos; um aplicativo da web e um serviço da web. Como não consegui carregar nenhum, o Gerenciador de Soluções estava mostrando apenas duas pastas vazias depois que tentei abrir o arquivo da solução. Depois de comentar as linhas sugeridas ProjectGuid e ProjectTypeGuids, pude ver as dependências desses projetos no Solution Explorer. Para mim, essa era uma opção de alto retorno e baixo risco, pois eu poderia desfazer facilmente essas alterações. Obrigado!
JohnH
26

Edite o arquivo .csproj ou vbproj. Encontre e substitua essas entradas

<UseIIS>true</UseIIS> by <UseIIS>false</UseIIS>
<UseIISExpress>true</UseIISExpress> by <UseIISExpress>false</UseIISExpress>
jcmordan
fonte
1
Eu também tive que mudar DevelopmentServerPort para um valor diferente de 80.
JoshNaro
1
E se você não conseguir encontrar as configurações no arquivo csproj. Abra o arquivo .csproj.user e faça-o lá.
Devzero 22/04
10

No meu caso, esse problema foi causado por ligações quebradas do IIS. Especificamente, minha ligação 'http' foi excluída. A recriação corrigiu o problema.

Roger Lipscombe
fonte
Eu experimentei um problema muito semelhante. Minha ligação HTTP parecia renomear-se um dia -_- A configuração do arquivo de projeto para <IISUrl>não mudou (obrigado SVN por confirmar minha memória e minha sanidade), mas de alguma forma a ligação iis mudou. Corrigido e o projetor carregado imediatamente.
Patrick M
Além disso, lembre-se de verificar se você alterou o sni / hostname do site de destino por algum motivo. Isso causou o erro no meu caso.
Juarola
5

Tente abrir o Visual Studio com privilégios de administrador. No meu caso, ele deu acesso ao site do IIS e fez esse erro desaparecer. Pude mudar o projeto para usar o IIS Express, que parece não precisar de privilégios de administrador.

kad81
fonte
5

Isso funcionou para mim: -
Faça com que todos os sites do IIS aponte apenas para host local (todos não atribuídos)

insira a descrição da imagem aqui

JerryGoyal
fonte
5

Se você estiver conectado via TFS, abra o arquivo project.csproj.user e verifique se há

<UseIISExpress>false</UseIISExpress>

e mude para true.

<UseIISExpress>true</UseIISExpress>
Patrick Dengler
fonte
Embora eu ache que isso é mais uma solução alternativa para o problema do que a solução real, dei um joinha quando resolveu minha preocupação imediata.
Nandun 15/01
Funcionou bem :)
Hammad Sajid
4

Você pode carregar o projeto sem definir o valor do atributo UseIIS como true. Basta seguir os passos abaixo:

No arquivo mywebproject.csproj--

Exclua a tag <IISUrl> http: // localhost / MyWebApp / </ IISUrl> e salve o arquivo. O aplicativo atribuirá automaticamente a porta padrão a ele.

Yogesh Gangwar
fonte
4

Você não vai acreditar nisso, startvisual studio como administrador

tão óbvio da mensagem

Não foi possível encontrar o servidor da Web ' http: // localhost / MyWebApp '.

não foi encontrado porque pode it has no privileges to see it

Então, apenas restartvisual studio como Administrador

Basheer AL-MOMANI
fonte
3

No meu caso, eu queria mudar de http para https, então excluí o http do IIS. No meu arquivo .csproj.user, descobri que ainda tinha:

<IISUrl>http://localhost/</IISUrl>

Então eu mudei para:

<IISUrl>https://localhost/</IISUrl>
Njaal Gjerde
fonte
2

No meu caso, consegui abrir a solução no modo offline apenas executando o comando:

iisreset
Conrado Fonseca
fonte
2

Para os usuários do Win8, se você seguir as etapas da resposta aceita, o console emitirá uma mensagem dizendo "você não usará a linha de comando para executar este comando" (parafraseando). Em vez disso, acesse Programas e Recursos via Painel de Controle (ou Windows + R> appwiz.cpl), clique em 'Ativar ou desativar recursos do Windows' e verifique se você tem o seguinte instalado:

Internet Information Services
  > World Wide Web Services
    > Application Development Features
      > ASP.NET 4.5

Isso irá verificar várias outras opções também. Assim que instalei esses recursos e executei o VS2012 com permissões elevadas, consegui iniciar meu aplicativo com sucesso.

Scott Silvi
fonte
2

Isso acontece comigo quando tentei abrir um projeto a partir do arquivo .csproj, mas superei-o abrindo o projeto no VS:

Arquivo> Abrir> Site

e selecione o diretório que inclui meu projeto.

mshwf
fonte
1

Eu também tive esse erro. Eu pensei que tudo estava configurado corretamente, mas descobri que faltava uma coisa: o nome do host que usei para o meu projeto ainda não era resolvível.

Como meu aplicativo determina o nome do cliente atual a partir do nome do host, usei um nome de host clientname.mysuperapp.localpara desenvolvimento. Quando adicionei o nome do host de desenvolvimento ao meu hostsarquivo, o projeto foi carregado novamente. Obviamente, eu tive que fazer isso de qualquer maneira, mas não achei que o VS verifique o nome do host antes de carregar o projeto.

fero
fonte
1

Verifique se o IIS Express está instalado. Se o IIS Express estiver ausente, o Visual Studio poderá descartar a configuração <UseIISExpress>false</UseIISExpress>e ainda procurar o expresso.

Thea
fonte
1

no meu caso, verifique se você tem um site "Padrão"

desenhou
fonte
1

No meu caso, o "Site Padrão" no IIS não tinha uma ligação para o host local na porta 80. Você deve ter uma ligação para qualquer que seja o seu valor no arquivo .csproj.

Dan Mirescu
fonte
1

Corrigi isso simplesmente reinstalando o IIS Express após o download no link abaixo:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=48264

Mateus
fonte
1
Isso não fornece uma resposta para a pergunta. Depois de ter reputação suficiente, você poderá comentar qualquer postagem ; em vez disso, forneça respostas que não exijam esclarecimentos do solicitante . - Da avaliação
FluffyKitten
@FluffyKitten Eu tive o mesmo erro que o OP, tentei todas as outras respostas e nada funcionou antes de reinstalar o IIS Express. Então, acredito que esta é minha resposta à pergunta do OP. Reinstale o IIS.
Matthew
Sua resposta foi sinalizada como de baixa qualidade e está passando por um processo de revisão (observe "Da revisão" no final do comentário). Embora possa funcionar, a reinstalação do software é uma opção de último recurso quando nada mais funciona e não é uma solução específica para o problema desse OP.
FluffyKitten 26/09
Se for uma opção de último recurso, depois que nada mais funcionar - e de acordo com Ajay2707, existe o potencial de nenhuma das outras respostas funcionar para uma alma pobre - então eu pensaria que essa resposta poderia ser útil. Como você pode designar uma resposta como de baixa qualidade, quando pode ser a única coisa que funciona para algumas pessoas? Eu apoio você Ajay2707. Obrigado por dedicar um tempo para contribuir com a comunidade.
Nardnob 29/09/19
Inb4, essa conversa é movida / excluída como de baixa qualidade. viva la resistência !!
Nardnob 29/09/17
0

No meu caso, o URL referenciado no arquivo csproj estava incorreto.

Precisava ser prefixado com www.

Fiz as alterações, salvei o arquivo e o projeto foi carregado bem.

Patrick Fischer
fonte
0

Corri para este problema quando o <ProjectTypeGuids>elemento no arquivo .csproj continha a unidade GUID projeto de teste: {3AC096D0-A1C2-E12C-1390-A8335801FDAB}.

Removê-lo fez com que o projeto fosse carregado sem problemas.

MvdD
fonte
0

Para usuários DNN, meu problema era que eu precisava de uma ligação para o dnndev.me na porta 80. Tenho várias instalações que são executadas em portas diferentes e o VS exige que esse URL específico exista na porta 80 (não 86 como a minha).

Mickers
fonte