Se produjo un error al intentar determinar la identificación del proceso del proceso DNX que aloja su aplicación

101

Recibo este mensaje de error cuando intento iniciar la aplicación.

Se produjo un error al intentar determinar la identificación del proceso del proceso DNX que aloja su aplicación

¿Existe alguna forma de solucionar el problema?

Domysee
fuente

Respuestas:

151

Para mí, el problema se resolvió cerrando Visual Studio, eliminando

project.lock.json

e iniciando Visual Studio nuevamente.

Editar : estaba usando RC1.

Frode Lillerud
fuente
2
Resolvió mi problema en el proyecto RC1
Nadav Hury
@NadavHury Lo mismo aquí :)
ManyRootsofAllEvil
1
Resolvió el problema que tenía con la aplicación RC1 de ejemplo descargada de PluralSight, muy apreciada
tomRedox
5
esto ya no funciona. np microsoft. Lo resolveremos. una y otra vez y ... OTRA VEZ
1
¿dónde está project.lock.json?
CodyBugstein
34

Microsoft cambió el modelo de alojamiento como se describe en las notas de la versión .

En project.jsonreemplazo de la dependencia

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

con

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


En web.configen la handlerssección eliminar todas las entradas excepto

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

El completo web.configse verá así:

<?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: Mientras usaba RC1 tuve el error después de mover la carpeta de la solución. Después de eliminar las carpetas biny, objtodo volvió a funcionar.
Como señaló el usuario764754, simplemente reiniciar Visual Studio también puede ayudar.

Domysee
fuente
En el nuevo modelo de alojamiento, no usa web.config en absoluto y puede eliminarlo por completo. HttpPlatformHandler y Startup.cs suplantan a web.config, ya que está pasando por alto IIS hasta cierto punto.
cygnim
2
Utilizo las plantillas más nuevas después de instalar 1.0.0-beta8 primero, luego creo un nuevo proyecto ASP.NET en VS 2015. Todas las entradas son correctas, pero obtengo el mismo error que Domysee. ¿Podría alguien explicar qué significan "% DNX_PATH%" y "% DNX_ARGS%"?
okieh
1
Debo aclarar, no necesita un web.config en su proyecto. Se genera un archivo web.config mínimo durante la compilación que básicamente agrega el HttpPlatformHandler a la canalización y dirige el tráfico desde IIS al servidor Kestrel. Entonces tiene razón, hay un archivo web.config, pero no es necesario en la base de código de su proyecto.
cygnim
3
Simplemente reiniciando VS lo hizo por mí con RC-1, no se requieren eliminaciones.
user764754
2
Tuve el mismo problema con RC1, la solución para mí fue eliminar web.config (en wwwroot)
rad
30

Para otras personas que tienen este problema, en los casos en los que las otras soluciones no funcionan, encontré la respuesta en este hilo: Forzar el uso de SSL: se produjo un error al intentar determinar la identificación del proceso del proceso DNX que aloja su aplicación.

Si su proyecto usa o hace cumplir SSL, ejecútelo sin depurar (CTRL + F5) primero, le pedirá que genere un certificado SSL local, y luego la depuración funcionará y el error desaparecerá.

Radosław Chybicki
fuente
Esto me lo arregló. Había migrado mi proyecto a una nueva computadora que no tenía el certificado instalado. Gracias.
Ritmo
¡Bien, eso fue todo! Voy a señalar esto en la página "Habilitando la autenticación usando Facebook ...", ya que sus instrucciones incluyen forzar SSL.
N8allan
No pude hacer que funcionara haciendo CTRL + F5. F5 funcionó después de ejecutar esto para confiar en mis certificados iis express. No tenía advertencias, pero esto me solucionó.
Josh Close
11

Por lo que vale, este es un mensaje de error genérico que podría servir como una pista falsa para cualquier número de problemas en los que httpPlatformHandler no puede iniciar el ejecutable dado (dnx en este caso).

En mi caso, recibí este error como resultado directo de una mala comprensión del archivo launchSettings.json. Estaba tratando de habilitar el punto final https para mi aplicación y por error dupliqué el sslport en mi applicationUrl. Según tengo entendido, applicationUrl debe ser el nombre de host http / puerto de la aplicación y, al completar el sslPort, solo configura el entorno IIS Express para escuchar https en el nombre de host proporcionado en applicationUrl en el puerto proporcionado en sslPort.

Por ejemplo:

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

Proporciona los dos puntos finales siguientes en localhost.

  • Http sobre el puerto 44400
  • Https sobre el puerto 44300

Si tuviera el mismo puerto en la configuración de applicationUrl y sslPort, recibiría el error asociado con este hilo.

Esto es cierto para mí en RC1

Jonathan Mast
fuente
¿Por qué sslPort debería ser diferente de applicationUrl? Solía ​​funcionar para mí hasta RTM ...
Boris Lipschitz
Tuve el error: no pude conectarme al servidor web 'IIS Express', y después de eliminar el archivo "\ .vs \ config \ applicationhost.config" recibí el error "se produjo un error al intentar ...". En propiedades del proyecto> depuración, desmarqué SSL, ejecuté el depurador (en funcionamiento), volví a marcar SSL y copié la URL en "URL de la aplicación", la depuración en modo SSL funciona de nuevo. El error apareció después de una actualización de Windows, aunque no estoy seguro de si fue la causa. Mis iisSettings ahora son "iisExpress": {"applicationUrl": " localhost: 44369 ", "sslPort": 44369} .. funciona si los números de puerto no son los mismos
JimiSweden
6

Es posible actualizar, encontré que tenía que revisar las nuevas plantillas actualizadas aquí .

Actualice su web.config en wwwroot para incluir:

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

También deberá cambiar la forma en que el proyecto depura con Kestrel modificando su project.json:

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

y modificando tu hosting.ini

server=Microsoft.AspNet.Server.Kestrel

y agregando esto al método Configure en startup.cs

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

agregar estas referencias debería permitirle ejecutar el proyecto.

Ben M
fuente
5

Encontré este problema debido a que la configuración del proyecto intentaba iniciar https: // localhost en lugar de http. Haga clic derecho en el proyecto web, en "Depurar" y ajuste "URL de la aplicación" para que sea http en lugar de https. ingrese la descripción de la imagen aquí

Otra forma de evitar esto fue cambiar el lanzador de "IIS Express" a "Web"

Mike S
fuente
3

En Visual Studio:

Mientras seguía este tutorial recibí un error similar.

Primero, recibí el error: "Ocurrió un error al intentar determinar la identificación del proceso de dotnet.exe ..." Seguí los siguientes pasos.

  1. Comencé mi aplicación sin depurar CTRL + F5.
  2. Luego se me presentó la opción de aceptar un certificado autofirmado para localhost.
  3. Seguí las indicaciones y luego pude visitar mi aplicación usando la AppUrl que copié después de habilitar SSL en la configuración de depuración del proyecto.

Mientras intentaba algunas cosas para resolver ese error, también encontré este error. "Se produjo un error al intentar determinar el ID de proceso del proceso DNX que aloja su aplicación"

Lo cual fue causado por tener otra instancia de la aplicación en ejecución.

Espero que esta respuesta ayude a alguien.

Eric
fuente
Espere, entonces la respuesta es "causada por tener otra instancia de la aplicación en ejecución". Debería hacer esto más obvio de inmediato.
Bloodied
2

En mi caso, en un proyecto asp net core 1.1, .net framework 4.5.2, el error no se refería a dnx ya que ya no existe. En su lugar, se refirió al nombre del proyecto exe. Otra versión del error se refirió simplemente a no poder conectarse a iis express.

El problema fue la introducción de una regla canónica de reescritura del nombre de host que intenta forzar a todas las conexiones a tener un nombre de host que comience con www. por ejemplo, redirigir gty.org a www.gty.org para cumplir con nuestro certificado ssl. Esto está bien en producción, pero no puede forzar a https: // localhost: 44347 / para comenzar con www y esperar que iis express pueda manejarlo.

<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>

La solución fue comentar la regla cuando se ejecuta en Visual Studio o agregar una condición:

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

Suponiendo que está ejecutando IIS Express con SSL habilitado dependiendo de su instalación, tendrá que poner su Certificado de desarrollo IIS Express (emitido para "localhost" / emitido por "localhost") en [Local Computer \ Personal \ Certificates] o [Local Computer \ Certificación raíz de confianza \ Certificados]. Uno de esos debería funcionar. (Con Windows 10 + VS2015). HTH

Nathan Noble
fuente
Agregar el Certificado de desarrollo IIS Express en Computadora local \ Certificación raíz confiable \ Certificados hizo el trabajo por mí. ¡Gracias! (Para cualquier otra persona, en mi caso ya tenía el certificado en Computadora local \ Personal \ Certificados)
David Aleu
1

Compruebe el archivo web.config para ver si hay entradas no válidas. Por ejemplo, tener la etiqueta "entityFramework" allí me causa este problema.

Victor Stagurov
fuente
1

Tuve este problema cuando estaba cambiando la configuración y deshabilité la opción " Habilitar autenticación anónima " en Proyecto> Propiedades> Depurar. Asegúrese de que esté habilitado. Cierre y reinicie el proyecto y vuelva a intentarlo. Espero que esto ayude.

WolfQueen
fuente
Tuve el mismo problema, pero en lugar de solo tener que habilitar el anónimo, tuve que habilitar la autenticación anónima o de Windows. Si ambos eran falsos, recibí el error.
Birken25
1

Usé RC1 y EF First Code Approach. Una buena idea para iniciar la investigación es ejecutar el proyecto con la opción: "Iniciar proyecto sin depurar" (Ctrl + F5). Entonces recibo un error más significativo para mí: "La sección de configuración 'entityFramework' no se puede leer porque falta una declaración de sección". No funcionó para mí debido al archivo web.config.

Jaryn
fuente
1
  1. Actualizar dnvm
  2. Cambie la versión global.json sdk como predeterminada de dnvm
  3. No es necesario tocar project.json o project.lock.json
Shuang Gao
fuente
0

Al actualizar de beta7 -> beta8 tuve este problema y las sugerencias proporcionadas por Ben M y Domysee funcionaron para mí. Sin embargo, uno de mis colegas todavía tenía problemas para ejecutar nuestro proyecto que dnxcore50solo apunta . Si se asegura de haber ejecutado los siguientes comandos:

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

Fue el segundo comando en particular el que lo arregló en su máquina. También puede verificar que esta carpeta tenga un dnx.exe:

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

¡Acabo de descubrir un problema más que estaba causando esto!

web.configen la raíz del proyecto tenía algunas reglas de reescritura de URL de IIS poco fiables para hacer cumplir HTTPS. Eliminar esas reglas resolvió el problema.

Ignas
fuente
0

Hay tantas cosas que pueden causar este error. Aquí hay algunos que funcionaron para mí:

  1. Simplemente elimine el web.configen su wwwrootcarpeta. Se volverá a crear correctamente en la compilación.
  2. Si está intentando usar SSLy en su IIS Expressy mover su SSL Certa la Trusted Root Certification Authoritiescarpeta no funcionó. En la Debugpestaña del Propertiesproyecto que está intentando ejecutar. Intente desmarcar la Enable SSLcasilla de verificación y luego haga clic en ella nuevamente para habilitarla y obtener un puerto diferente. Puede que tenga que hacer esto varias veces.
Serj Sagan
fuente
0

Otra solución potencial
Para cualquiera que esté jugando con la configuración de SSL, descubrí que simplemente cambiar el puerto SSL en el launchSettings.jsonarchivo a otro puerto cercano resolvió el problema.

Para su información, no pude encontrar nada en la máquina usando el puerto original, ni obtuve un error de puerto en uso.

Ben Cull
fuente