A criação de um diretório virtual falhou com o erro


87

Não consigo resolver este problema

insira a descrição da imagem aqui

Eu sugiro que eu tenho que mudar o c:\Windows\System32\drivers\etc\hostsarquivo e adicionar depois

# localhost name resolution is handled within DNS itself.

a próxima linha:

127.0.0.1       mysite.dev

mas não ajuda. Alguma sugestão?

Ocorre um erro quando tento abrir o projeto do site no Microsoft Visual Studio 2012.



É o segundo ou terceiro link do google, que consegui enquanto procurava solução na Internet. Não é o que preciso.
Dmytro

Respostas:


164

Na maioria das vezes, pelo menos no meu caso, isso acontece quando um *.csproj.userarquivo está no diretório do projeto e o contém <UseIISExpress>true</UseIISExpress>.

Como alternativa, conforme mencionado por Zachary Cutler, você também pode simplesmente: fechar o Visual Studio, excluir o *.csproj.userarquivo e reabrir o Visual Studio . Isso forçará o VS a reconstruir o arquivo.


1
isso não funciona para mim, após a atualização vs2017 15.7.1, eu tenho esse problema.
Marsen Lin

Muito obrigado!
Reuben Tanner

2
Isso não funcionou para mim. Eu apaguei a .vspasta. excluído *.csproj.usere ainda dá o mesmo erro.
Zapnologica

1
isso também funcionou para mim, eu apenas apaguei o arquivo [myproj] .csproj.user e ele carregou - isso estava no VS2019 - rodando em modo de administrador
Mark

33

Já encontrei a solução. Eu só tive que editar o C:\Users\Administrator\Documents\IISExpress\config\applicationhost.configarquivo, adicionando meu site ao <sites>nó.


Caso esta não seja a resposta para você e se você se encontrar na minha situação, excluí o diretório .vs para limpar o cache e não percebi que o Visual Studio alterou minha configuração de compilação padrão para uma gerada automaticamente que era configurado para usar o IISExpress. Então, se você tinha um projeto que estava funcionando bem e então para de carregar, eu sugiro antes de fazer qualquer outra coisa para verificar a configuração da compilação (o que eu, claro, não fiz)
saminpa

Ops, embora meu comentário 'útil' anterior tenha sido preciso, ele não foi a causa raiz da mensagem de erro criptografada. Isso seria o fato de que a pasta .vs recriada automaticamente herdou a criptografia NTFS. Volte ao normal sem precisar editar o arquivo do projeto após descriptografar essa pasta.
saminpa

Funciona mesmo depois de 6 anos. Eu tenho esse problema com a versão mais recente do vs2017. Mas resolveu usando as informações acima.
Awais

Quando um usa local applicaionhost.configversus aquele na pasta de solução?
Zapnologica

19

Você pode optar por instalar o IIS localmente e editar algumas marcas no arquivo .csproj. Abra seu arquivo csproj e vá para a seção <VisualStudio>, localize a tag, <UseIIS>True</UseIIS> ela deve ser definida como verdadeira, vá para tag: <IISUrl>e configure com o endereço de URL onde o aplicativo será hospedado para teste:

<VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>False</AutoAssignPort>
          <DevelopmentServerPort></DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          **<IISUrl>http://localhost/myWebSiteAppSample</IISUrl>**
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>

E isso é. Agora você pode carregar seu projeto normalmente.


Engraçado, esta é a resposta para o meu caso.
coffekid de

3
Com uma observação: os **asteriscos não devem estar no arquivo. Claro.
ErikE

15

O problema seria que a configuração do seu projeto fosse executada no IIS local e a URL especificada não existisse.

Existem opções que você pode fazer para corrigir o problema.

Opção 1 : (Use IIS Express)

1.) Abra o arquivo .csproj do seu projeto da web como XAML ou no bloco de notas.

2.) Encontre essas propriedades e defina de acordo com suas preferências.

UseIIS = falso

UseIISExpress = true

e é isso.

opção 2 : (usar IIS local)

Siga as etapas da opção 1, mas altere as seguintes propriedades.

UseIIS = true

IISUrl = https: // localhost

UseIISExpress = false


Opção 1 não funciona
Metin Atalay

A opção 2 funcionou para mim, só tive que definir UseIIS = true
Joshlo

Opção 2 funcionou :)
Senura Dissanayake

9

O problema pode ser corrigido excluindo a pasta chamada .vs no diretório do projeto.

Isso resolve o problema porque ao abrir o projeto após excluir o arquivo .vs, ele cria a mesma pasta com configuração de subpasta e pasta com o nome do projeto.

A pasta config applicationhost contém as configurações necessárias para executar o projeto com sucesso.


6

Eu apenas fui para o diretório nomeado no erro e renomeei o applicationhost.config e reiniciei e o VS criou um novo arquivo e funcionou bem.


2
  • Tentei várias abordagens mencionadas nas respostas, mas o que finalmente funcionou para mim foi trocar o <IISUrl>de .csprojpor <CustomServerUrl>.

Editar:

  • O texto acima não resolveu a causa raiz do problema para mim. No entanto, se você fez uma atualização do Windows recentemente, talvez seja o motivo do problema. Tente executar netsh http add iplisten 0.0.0.0e veja se resolve o problema.

Espero que isso ajude alguém que ainda está procurando um caminho.


1
De todas as coisas (e quero dizer TODAS), esta ( <CustomServerUrl>) é a que finalmente funcionou para mim. Muito obrigado!
Ash

1

Eu não sei porque, meu applicationhost.configarquivo estava completamente ausente do meu C:\Users\Administrator\Documents\IISExpress\config\ pasta.

Copiar / colar C:\inetpub\history\applicationhost.config nessa pasta pareceu resolver o problema para mim.

Tirei a ideia daqui .


No meu caso, o arquivo foi corrompido. então, eu o excluí e substituí por um arquivo applicationhost.config encontrado na pesquisa do sistema. Não tenho direito de administrador, então não consigo acessar inetpub \ history. Acho que o Visual Studio sempre espera esse arquivo de configuração, mas depois disso, embora eu tenha excluído o arquivo applicationhost.config repetidamente de IISExpress \ config location, o VS continuou a criá-lo. Parece que às vezes as configurações ficam corrompidas, mas uma vez que estão alinhadas com as configurações corretas, o VS cuida de todas as suas próprias configurações.
Kumar Chandraketu de

1
  1. Ative os recursos do Windows "Serviços de Informações da Internet" no painel de controle.
  2. Abra o arquivo ".csproj" e encontre
  3. Modifique esta linha com base em seus requisitos. http: // localhost: 777 /
  4. Abra o projeto / solução agora
  5. Se houver falha ao carregar novamente, apenas clique com o botão direito na solução e selecione "Recarregar Projeto".

1

Sei que é provavelmente uma ocorrência rara, mas pensei em colocá-la aqui:

Meu csprojarquivo foi definido como "somente leitura" (não me pergunte como consegui isso), mas depois que desativei o acesso "somente leitura", tudo correu bem. (VS2017)


0

Eu estava enfrentando o mesmo problema por causa da alteração da minha senha de rede. Mudei minha senha de login do NetExtendor, mas tenho que fazer o login no meu laptop com a senha antiga.

Tente estas etapas para corrigir esse problema:

faça login no computador com qualquer senha que funcione, faça login no vpn com qualquer senha que funcione ctl-alt-del para bloquear o computador e use a nova senha para desbloqueá-lo

Funcionou para mim :-)

Obrigado!


0

Não exatamente o mesmo erro, mas fui levado a esta resposta desde a primeira metade do erro correspondido. Seu arquivo applicationhost.config pode ser simplesmente somente leitura. Tirar isso resolveu o erro para mim. Esse erro chama o arquivo especificamente, portanto, você deve ser capaz de encontrá-lo facilmente.


0

Meu problema era com o Windows 10 Defender. Eu tinha dado permissão ao IIS no passado, mas parece que agora ele a está ignorando. Analisarei isso mais tarde, mas por enquanto desabilitei o acesso controlado a pastas e funcionou.


0

Eu queria abrir um projeto existente do Visual Studio 2017 no VS 2019 e encontrei o mesmo problema. Acho que é um problema relacionado à versão. A solução é: Crie um novo projeto no VS mais recente e copie os códigos do VS mais antigo.


Bem-vindo ao SO! Na pergunta, não há menção a qualquer mudança na versão do VS. Ao postar uma resposta, verifique se você está respondendo à pergunta. Caso contrário, basta criar uma pergunta com esse problema e responder você mesmo, pois isso ajudará a Comunidade.
David García Bodego

0

Tente descriptografar o arquivo applicationhost.config. Isso funcionou para mim.


-1

Então, aqui estão as etapas para corrigi-lo:

  1. Vá para onde está seu arquivo .csproj. Geralmente é um diretório abaixo da solução (.sln)
  2. Clique com o botão direito e abra com um editor de texto (notepad)
  3. Encontre a tag IISUrl e substitua seu conteúdo por http: // localhost: (YourPortNumber)
  4. Salve e recarregue seu projeto!
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.