Tentei executar meu serviço da web por meio do Visual Studio. Eu enfrentei um problema como:
---------------------------
Microsoft Visual Studio
---------------------------
Unable to launch the IIS Express Web server.
Failed to register URL "http://localhost:63591/" for site "xxxxxx" application
"/". Error description: The process cannot access the file because it is being
used by another process. (0x80070020)
---------------------------
OK
---------------------------
Vi o gerenciador de tarefas e descobri que o PID 4 é usado pelo sistema e sua descrição é NT Kernel & System.
Então tentei parar o http service
. Todos os serviços de dependência parados. Mas estou enfrentando um problema para interromper o serviço http, como
The service is starting or stopping. Please try again later.
Então, tentei parar e iniciar o serviço manualmente. Mas o processo de término está desativado. Será útil se alguém puder ajudar com esse problema
visual-studio
iis-express
Priya
fonte
fonte
Respostas:
De https://www.davidsalter.co.uk/unable-to-launch-the-iis-express-web-server-error-0x80070020/
Código de erro
0x80070020
significaERROR_SHARING_VIOLATION
que, no caso do IIS Express (ou IIS), significa que a porta que está tentando escutar está sendo usada por outro processo.Use o
netstat
comando para descobrir qual aplicativo está usando a porta.O
a
parâmetro informa ao netstat para exibir todas as conexões e portas de escuta.O
o
parâmetro informa ao netstat para exibir o ID do processo associado à conexão.Executar o comando netstat acima produzirá resultados como:
O último número exibido (9544 aqui) é a ID do processo.
fonte
TASKKILL /PID 2756 /F
substitua2756
pelo ID do processo-n
opção - ele usa saída "numérica", o que significa que não perde tempo consultando o DNS para resolver endereços IP em nomes de host.Tive um problema semelhante ao tentar executar um projeto do Visual Studio 2019 no Windows 10. O aplicativo não pôde ser iniciado porque a porta estava aparentemente sendo usada por outro processo. Porém, o
netstat
comando mostrou que a porta não estava sendo usada por nenhum aplicativo.Depois de passar 2 dias pesquisando no Google, encontrei uma solução que funcionou para mim. A porta que eu estava tentando usar estava no intervalo de portas excluídas, que você pode ver executando o comando:
Os culpados que reservaram essas portas no meu caso foram Docker para Windows e Hyper-V
A solução
Desinstalei o Docker (já que não precisava) e desativei o Hyper-V. Para desativar o Hyper-V: Vá para: Painel de Controle-> Programas e Recursos-> Ativar ou desativar recursos do Windows. Desmarque Hyper-V e reinicie o computador.
Após o reinício, o comando
netsh interface ipv4 show excludedportrange protocol=tcp
não mostrou nenhuma porta reservada.Em seguida, adicionei a porta do meu aplicativo ao intervalo de portas excluídas, executando o seguinte comando em uma linha de comando elevada:
Em seguida, reativei o Hyper-V (o Docker pode ser reinstalado se necessário) e reiniciei o computador.
O Hyper-V agora reservou suas portas sem interferir na porta usada pelo meu aplicativo: intervalos de portas reservadas
fonte
Eu tive o mesmo problema. Acabei de reiniciar o Visual Studio e funcionou.
fonte
Eu tive o mesmo problema. Como @Kautsky Lozano mencionou acima, outro aplicativo está usando essa porta.
Então [para um sistema operacional Windows] apenas:
fonte
Eu tive o mesmo problema depois que atualizamos uma solução do Visual Studio 2012 para 2015. Eu vim aqui e corri
netstat
apenas para descobrir que nenhum outro aplicativo estava usando as mesmas portas. Acontece que eu tinha os mesmos sites com as mesmas portas mapeadas emapplicationhost.config
atUsers/<username>/Documents/IISExpress/config
eapplicationhost.config
na.vs
pasta dentro da minha solução. Devo observar que o problema também não começou logo após a atualização. Simplesmente começou a falhar consistentemente uma manhã. Algumas reinicializações também não parecem resolver o problema.Remover os sites em conflito daquele armazenado em meus Documentos e reiniciar o Visual Studio resolveu o problema.
fonte
applicationhost.config
está na.vs\config
pasta em sua pasta de solução.Se o netstat não mostrar nada que já esteja usando a porta
netstat -ano | findstr <your port number>
A porta pode ser excluída, tente este comando para ver se o intervalo está bloqueado por outra coisa:
netsh interface ipv4 show excludedportrange protocol=tcp
Você pode tentar desbloquear o intervalo da porta inicial para várias portas (é necessário Prompt de Comando com Administrador):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
Para mim não consegui desbloquear estes, acabei de receber "Acesso negado", então acabei tendo que escolher outra porta para o meu site.
fonte
Outro aplicativo está usando essa porta. Isso pode te ajudar
fonte
Eu apenas tive esse problema, embora netstat não tenha mostrado nenhum conflito.
O seguinte consertou para mim:
fonte
Eu tive esse problema ao atualizar um projeto MVC . Copiei o MVC .csproj mais recente sobre meu arquivo .csproj existente e depois trabalhei de volta para um projeto totalmente funcional. O que deixei de considerar é o número da porta existente no antigo .csproj. O novo projeto tinha um novo número de porta, mas compartilhava o nome do projeto / montagem. Isso foi o suficiente para fazer o IIS Express enlouquecer e lançar essa exceção.
Apenas extrair o número da porta antiga do git e alterar a URL do IIS Express para incluí-lo nas Configurações do projeto foi o suficiente para corrigi-lo.
fonte
A primeira tentativa mais fácil, sem entrar no console de comando, é apenas fechar todos os aplicativos (incluindo o VS) e, em seguida, iniciar o VS sozinho e tentar novamente. Provavelmente, há outro aplicativo como o seu navegador causando o conflito. No meu caso, o Chrome causou isso e foi resolvido ao desligar tudo e reiniciar o VS. Abri o Chrome novamente e estava tudo bem.
O netstat acima é útil, mas para mim é apenas se você não puder fazer o que estou sugerindo.
fonte
para resumir todas as respostas. Existem 2 soluções. Ambos trabalharam para mim. - Solução # 1 Mate o aplicativo que usa a mesma porta. - Solução # 2 Configure o IIS Express para usar uma porta diferente para o seu projeto.
Solução # 1 (supondo que a porta na mensagem de erro fosse 443) Execute na linha de comando:
ele retorna:
TCP 0.0.0.0:443 pe01:0 LISTENING 2904
O último número (graças a @chris-schiffhauer) é PID para matar. Vá para o Gerenciador de Tarefas -> Processos -> [Mostrar Processos de Todos os usuários], Mate um processo com PID = 2904. No meu caso, era o host VmWare.Solução # 2 (supondo que a mensagem fosse: Falha ao registrar o URL " http: // localhost: 433 / " para o site "MeuProjeto.Website0" ... ). Abra o seguinte arquivo no notepad ++:
C:\Users\MY_USER_NAME\Documents\IISExpress\config\applicationhost.config
Encontre nele uma linha contendo:Mude
433
para outra coisa, goste4330
ou exclua a<binding.../>
tag conflitante .fonte
No meu caso, fazer o seguinte funcionou:
Quando reiniciei o Visual Studio, ele atribuiu ao projeto um número de porta completamente novo e funcionou perfeitamente
fonte
Os números da porta não coincidem
No meu caso, o problema estava nas minhas Bindings Tags encontradas no arquivo de configuração em .vs na minha pasta de solução, os números das portas não correspondiam. As ligações eram as seguintes
E nas minhas configurações eu tinha o url definido como
http://localhost:1943/
Então, o que fiz foi excluir o link interno e executar meu aplicativo da web, em seguida, ele gerou um novo vínculo com um número diferente, copiei a nova porta gerada para minhas configurações e o erro foi embora.
fonte
Depois de atualizar o Windows 10 e / ou Visual Studio 16+, isso pode acontecer devido a um bug interno de que o IISExpress falha ao registrar qualquer site de desenvolvimento porque não aceita mais
localhost
conexões.Para resolver o problema, basta registrar novamente a vinculação. Para fazer isso, execute a partir de um shell administrativo o seguinte comando:
fonte
Vá para Propriedades do projeto da Web >> Web >> Url do projeto >> Alterar porta, ou seja: http: // localhost: 22345 / => http: // localhost: 22346 / Espero que ajude!
fonte
Eu estava correção capazes esse problema removendo tudo, desde
<site>
a</site>
tagsUsers/<username>/Documents/IISExpress/config/applicatiohost.config
Arquivofonte
Tendo acabado de perder meio dia tentando consertar esse mesmo problema, achei que deveria adicionar a solução que eventualmente funcionasse para mim.
TL; DR Se
netstat
indica que o problema não está em uso, tente alguns outros em uma faixa totalmente diferenteJá me deparei com esse problema antes, mas geralmente acho que reiniciar o Visual Studio, mudar as portas (incrementar em 1) ou reiniciar resolve o problema. No entanto, nesta ocasião, nada disso ajudou, e
netstat
não estava encontrando um processo conflitante. Até reinstalei o IIS e o Visual Studio e removi vários outros programas que suspeitava que pudessem estar interferindo. Parecia que o IIS estava tentando iniciar várias instâncias do mesmo site.Eventualmente, tentei correr
netstat
semfindstr
. Eu fiz uma varredura visual na lista de portas ativas e percebi que, embora as que eu tentei não estivessem listadas, havia alguns processos usando portas em um intervalo semelhante. Então, em vez disso, procurei um intervalo que estava livre, peguei um número de porta e que parece estar funcionando agora.Adoraria ouvir se alguém pode explicar por que isso pode ter funcionado.
fonte
Corri para esse problema no Visual Studio 2019 hoje e passei 3 horas antes de finalmente descobrir o problema. O Visual Studio usa 2 arquivos para rastrear o número da porta SSL, então você precisa corrigir ambos e enquanto o Visual Studio está fechado. Os dois arquivos são o arquivo applicationhost.config que está na pasta .vs \ ??? \ config de sua solução; e também a pasta .csproj.user do seu projeto da web. Edite ambos os arquivos e remova as configurações ofensivas. Talvez até mesmo apague os dois arquivos. Em seguida, abra novamente seu aplicativo no Visual Studio. Boa sorte!
fonte
Funcionou para mim
fonte
Segui as instruções do @Zoti e usei o Monitor de recursos para encontrar a porta em questão.
Acontece que o Outlook foi atribuído aleatoriamente à porta para seu canal de comunicação. Moral da história, pode ser absolutamente qualquer coisa.
fonte
O motivo desse erro é que você forneceu o número de porta incorreto ao seu aplicativo.
use a porta próxima ao número 8080, ou seja:
para alterar a porta para seu aplicativo no visual-Studio
fonte
Já tentei o seguinte:
Eu também tentei usar isso, mas nenhum resultado.
netstat -aon | encontre ": 80"
Eu também tentei usar, mas também retornei zero resultados.
netstat -ao | findstr
Então o que fiz foi deletar este " Microsoft.VsHub.Server.HttpHostx64.exe ", então meu projeto foi iniciado com sucesso e inicializado no navegador. O erro foi corrigido. Não sei por que, mas funciona.
Aqui está a imagem:
fonte
Eu tive o mesmo problema, mas ele foi resolvido quando reiniciei usando privilégios de administrador. (Pode ter sido apenas o reinício)
fonte
Tive o mesmo problema hoje e nada do que achei na internet funcionou. Eu uso a porta 2057 há anos, mas de repente ela não funcionou mais. Mudá-lo para outro número baixo como 2058 gerou a mesma mensagem de erro, mas quando mudei para 20057, tudo funcionou novamente. Talvez algo tenha mudado na maneira como os números de porta inferiores são tratados.
fonte