Ocorreu um erro ao tentar determinar a identificação do processo DNX que hospeda seu aplicativo

101

Recebo esta mensagem de erro quando tento iniciar o aplicativo.

Ocorreu um erro ao tentar determinar a identificação do processo DNX que hospeda seu aplicativo

Existe uma maneira de resolver o problema?

Domysee
fonte

Respostas:

151

Para mim, o problema foi resolvido fechando o Visual Studio, excluindo

project.lock.json

e iniciar o Visual Studio novamente.

Edit : eu estava usando RC1.

Frode Lillerud
fonte
2
Resolvi meu problema no projeto RC1
Nadav Hury
@NadavHury O mesmo aqui :)
ManyRootsofAllEvil
1
Resolvido o problema que tive com o aplicativo RC1 de exemplo baixado do PluralSight, muito apreciado
tomRedox
5
isso não funciona mais. np microsoft. nós descobriremos. de novo e de novo e ... DE NOVO
1
onde é project.lock.json?
CodyBugstein
34

A Microsoft mudou o modelo de hospedagem conforme descrito nas notas de lançamento .

Em project.jsonsubstituir a dependência

"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"

com

"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"


Em web.configna handlersseção de remover todas as entradas, exceto

<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />

O completo web.configficará assim:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
  </system.webServer>
</configuration>

RC1: Ao usar o RC1, tive o erro após mover a pasta da solução. Depois de excluir as pastas bine objtudo funcionou novamente.
Como o usuário764754 observou, simplesmente reiniciar o Visual Studio também pode ajudar.

Domysee
fonte
No novo modelo de hospedagem, você não usa web.config e pode removê-lo inteiramente. O httpPlatformHandler e Startup.cs suplantam o web.config, já que você está contornando o IIS até certo ponto.
cygnim
2
Eu uso os modelos mais recentes após instalar o 1.0.0-beta8 primeiro e, em seguida, criar um novo projeto ASP.NET no VS 2015. Todas as entradas estão corretas, mas recebo o mesmo erro que Domysee. Alguém poderia explicar o que "% DNX_PATH%" e "% DNX_ARGS%" significam?
okieh
1
Devo esclarecer, você não precisa de um web.config em seu projeto. Um arquivo web.config mínimo é gerado durante a compilação que basicamente adiciona o HttpPlatformHandler ao pipeline e direciona o tráfego do IIS para o servidor Kestrel. Então você está certo, existe um arquivo web.config, mas não é necessário na base de código do seu projeto.
cygnim
3
Apenas reiniciar o VS fez isso para mim com RC-1, sem necessidade de exclusões.
user764754
2
Eu tive o mesmo problema com o RC1, a solução para mim foi excluir o web.config (em wwwroot)
rad
30

Para outras pessoas com este problema, nos casos em que as outras soluções não funcionam - encontrei a resposta neste tópico: Forçar o uso de SSL: Ocorreu um erro ao tentar determinar a id do processo DNX que hospeda seu aplicativo

Se o seu projeto usar ou aplicar SSL, execute-o sem depuração (CTRL + F5) primeiro, ele solicitará que você gere um certificado SSL local e, depois disso, a depuração funcionará e o erro terá desaparecido.

Radosław Chybicki
fonte
Isso consertou para mim. Eu havia migrado meu projeto para um novo computador que não tinha o certificado instalado. Obrigado.
Ritmo de
Legal, era isso! Vou observar isso na página "Habilitando a autenticação usando o Facebook ...", pois as instruções incluem SSL forçado.
N8allan
Não consegui fazê-lo funcionar pressionando CTRL + F5. F5 funcionou depois de executar isso para confiar em meus certificados expresso. Eu não tive nenhum aviso, mas isso corrigiu para mim.
Josh Close de
11

Pelo que vale a pena, esta é uma mensagem de erro genérica que pode servir como uma pista para qualquer número de problemas em que o httpPlatformHandler não pode iniciar o executável fornecido (dnx neste caso).

No meu caso, recebi esse erro como resultado direto de não entender o arquivo launchSettings.json. Eu estava tentando habilitar o ponto de extremidade https para meu aplicativo e dupliquei por engano o sslport em meu applicationUrl. Pelo que entendi, o applicationUrl deve ser o nome do host / porta http do aplicativo e, preenchendo o sslPort, ele apenas configura o ambiente IIS Express para escutar https no nome do host fornecido no applicationUrl na porta fornecida no sslPort.

Por exemplo:

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

Fornece os dois pontos de extremidade a seguir no host local.

  • Http pela porta 44400
  • Https na porta 44300

Se você tivesse a mesma porta nas configurações applicationUrl e sslPort, receberia o erro associado a este thread.

Isso é verdade para mim no RC1

Jonathan Mast
fonte
Por que sslPort deve ser diferente de applicationUrl? Costumava funcionar para mim até RTM ...
Boris Lipschitz
Tive o erro: não foi possível conectar ao servidor web 'IIS Express' e, após excluir o arquivo "\ .vs \ config \ applicationhost.config", recebi o erro "ocorreu um erro ao tentar ...". Em propriedades do projeto> debug, desmarquei SSL, executei o depurador (funcionando), marquei o SSL novamente e copiei a URL para "URL do aplicativo", a depuração no modo SSL funciona novamente. O erro apareceu depois de uma atualização do Windows, mas não tenho certeza se foi a causa. Minhas configurações iis agora são "iisExpress": {"applicationUrl": " localhost: 44369 ", "sslPort": 44369} .. funciona se os números das portas não forem iguais
JimiSweden
6

É possível atualizar, descobri que precisava olhar os novos modelos atualizados aqui .

Atualize seu web.config em wwwroot para incluir:

<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>

Você também precisará alterar a forma como o projeto depura usando Kestrel , modificando seu project.json:

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
  "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
  "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}

e modificando seu hosting.ini

server=Microsoft.AspNet.Server.Kestrel

e adicionar isso ao método Configure em startup.cs

// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler(); 

adicionar essas referências deve permitir que você execute o projeto.

Ben M
fonte
5

Eu encontrei este problema devido à configuração do projeto tentando iniciar https: // localhost em vez de http. Clique com o botão direito no projeto da web, em "Debug" e ajuste "URL do aplicativo" para http em vez de https. insira a descrição da imagem aqui

Outra maneira de contornar isso foi mudar o inicializador de "IIS Express" para "Web"

Mike S
fonte
3

No Visual Studio:

Enquanto seguia este tutorial, recebi um erro semelhante.

Primeiro, recebi o erro: "Ocorreu um erro ao tentar determinar a ID do processo do dotnet.exe ..." Executei as seguintes etapas.

  1. Iniciei meu aplicativo sem depurar CTRL + F5.
  2. Foi então apresentada a opção de aceitar um certificado autoassinado para localhost.
  3. Segui as instruções e consegui visitar meu aplicativo usando o AppUrl que copiei depois de habilitar o SSL nas configurações de depuração do projeto.

Ao tentar algumas coisas para resolver esse erro, também me deparei com esse erro. "Ocorreu um erro ao tentar determinar a identificação do processo DNX que hospeda seu aplicativo"

Que foi causado por ter outra instância do aplicativo em execução.

Espero que esta resposta ajude alguém.

Eric
fonte
Espere, então a resposta é "causada por ter outra instância do aplicativo em execução"? Deve tornar isso mais óbvio imediatamente.
Ensanguentado de
2

No meu caso, em um projeto asp net core 1.1, .net framework 4.5.2, o erro não se referia ao dnx, pois não existe mais. Em vez disso, referia-se ao nome do projeto exe. Outra versão do erro referia-se simplesmente à impossibilidade de se conectar ao iis express.

O problema era a introdução de uma regra canônica de reescrita de nome de host que tenta forçar todas as conexões a terem um nome de host que comece com www. por exemplo, redirecionando gty.org para www.gty.org para estar em conformidade com nosso certificado SSL. Isso é bom em produção, mas você não pode forçar https: // localhost: 44347 / a começar com www e esperar que o iis express seja capaz de lidar com isso.

<rule name="CanonicalHostNameAddwww" enabled="true" stopProcessing="true">
      <match url="(.*)" ignoreCase="true" />
      <conditions logicalGrouping="MatchAll">        
        <add input="{HTTP_HOST}" negate="true" pattern="^www\." />
      </conditions>
      <action type="Redirect" url="http://www.{HTTP_HOST}{HTTP_URL}"  appendQueryString="false" redirectType="Permanent" />
</rule>

A solução foi comentar a regra durante a execução no Visual Studio ou adicionar uma condição:

<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />
W Pearson
fonte
2

Supondo que você esteja executando o IIS Express com SSL habilitado, dependendo de sua instalação, você terá que colocar seu certificado de desenvolvimento IIS Express (emitido para "localhost" / emitido por "localhost") em [Computador local \ Pessoal \ Certificados] ou [Computador local \ Trusted Root Certification \ Certificates]. Um desses deve funcionar. (Usando Windows 10 + VS2015). HTH

Nathan Noble
fonte
Adicionar o IIS Express Development Certificate em Local Computer \ Trusted Root Certification \ Certificates fez o trabalho para mim. Obrigado! (Para qualquer outra pessoa, no meu caso eu já tinha o certificado em Computador Local \ Pessoal \ Certificados)
David Aleu
1

Verifique o arquivo web.config para entradas inválidas. Por exemplo, ter a tag "entityFramework" lá causa esse problema para mim.

Victor Stagurov
fonte
1

Tive esse problema ao alternar as configurações e desabilitei " Habilitar autenticação anônima " em Projeto> Propriedades> Depurar. Certifique-se de que esteja habilitado. Feche e reinicie o projeto e tente novamente. Espero que isto ajude.

wolfQueen
fonte
Eu tive o mesmo problema, mas em vez de apenas habilitar o anônimo, tive que habilitar a autenticação anônima ou do Windows. Se ambos fossem falsos, recebi o erro.
birken25 de
1

Eu usei RC1 e EF First Code Approach. Uma boa ideia para iniciar a investigação é executar o projeto com a opção: "Iniciar projeto sem depuração" (Ctrl + F5). Então recebo um erro mais significativo para mim: "A seção de configuração 'entityFramework' não pode ser lida porque está faltando uma declaração de seção." Não funcionou para mim por causa do arquivo web.config.

Jaryn
fonte
1
  1. Atualizar dnvm
  2. Altere a versão global.json sdk como padrão do dnvm
  3. Não há necessidade de tocar em project.json ou project.lock.json
Shuang Gao
fonte
0

Ao atualizar do beta7 -> beta8, tive esse problema e as sugestões fornecidas por Ben M e Domysee funcionaram para mim. No entanto, um dos meus colegas ainda estava tendo problemas para executar nosso projeto que visa dnxcore50apenas. Se você certificar-se de que executou os seguintes comandos:

dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86

Foi o segundo comando em particular que o consertou em sua máquina. Você também pode verificar se esta pasta contém um dnx.exe:

%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin
Barrie
fonte
0

Acabei de descobrir mais um problema que estava causando isso!

web.configna raiz do projeto tinha algumas regras duvidosas de reescrita de URL do IIS para impor HTTPS. Remover essas regras resolveu o problema.

Ignas
fonte
0

Existem tantas coisas que podem causar esse erro. Aqui estão alguns que funcionaram para mim:

  1. Basta excluir o web.configda sua wwwrootpasta. Ele será recriado corretamente na compilação.
  2. Se você está tentando usar SSLe em IIS Expresse mover SSL Certpara a Trusted Root Certification Authoritiespasta não funcionou. Na Debugguia do Propertiesprojeto que você está tentando executar. Experimente desmarcar a Enable SSLcaixa de seleção e clicar novamente para habilitá-la e obter uma porta diferente. Você pode ter que fazer isso algumas vezes.
Serj Sagan
fonte
0

Outra solução potencial
Para qualquer pessoa que esteja brincando com as configurações de SSL, descobri que apenas mudar a porta SSL no launchSettings.jsonarquivo para outra porta próxima resolveu o problema.

Para sua informação, não consegui encontrar nada na máquina usando a porta original, nem recebi um erro de porta em uso.

Ben Cull
fonte