web-dev-qa-db-fra.com

Une erreur s'est produite lors de la tentative de détermination de l'ID de processus du processus DNX hébergeant votre application.

Je reçois ce message d'erreur lorsque j'essaie de démarrer l'application.

Une erreur s'est produite lors de la tentative de détermination de l'ID de processus du processus DNX hébergeant votre application.

Y at-il un moyen de résoudre le problème?

102
Domysee

Pour moi, le problème a été résolu en fermant Visual Studio, en supprimant

project.lock.json

et redémarrez Visual Studio.

Edit: J'utilisais RC1.

152
Frode Lillerud

Microsoft a modifié le modèle d'hébergement comme décrit dans le notes de publication .

Dans project.json remplacer la dépendance

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

avec

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


Dans web.config dans la section handlers supprime toutes les entrées sauf

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

L'intégrale web.config va ressembler à ceci:

<?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: Lors de l’utilisation de RC1, j’ai eu l’erreur après avoir déplacé le dossier de la solution. Après avoir supprimé les dossiers bin et obj, tout a fonctionné à nouveau.
Comme l’a noté l’utilisateur764754, le simple redémarrage de Visual Studio peut également aider.

34
Domysee

Pour les autres personnes ayant ce problème, dans les cas où les autres solutions ne fonctionnent pas, j'ai trouvé la réponse dans ce fil de discussion: Forçage pour utiliser SSL: une erreur s'est produite lors de la tentative de détermination de l'ID de processus de l'hébergement du processus DNX. votre application

Si votre projet utilise ou applique SSL, exécutez-le sans déboguer (CTRL + F5), puis vous demandera de générer un certificat SSL local. Après cela, le débogage fonctionnera et l'erreur disparaîtra.

30
Radosław Chybicki

Pour ce que cela vaut, il s’agit d’un message d’erreur générique qui pourrait servir de fil rouge à un certain nombre de problèmes pour lesquels httpPlatformHandler ne peut pas lancer l’exécutable donné (dnx dans ce cas).

Dans mon cas, j'ai reçu cette erreur comme conséquence directe d'une mauvaise compréhension du fichier launchSettings.json. J'essayais d'activer le point de terminaison https pour mon application et j'ai dupliqué par erreur le port SSLport dans ma applicationUrl. Si je comprends bien, applicationUrl doit être le nom d’hôte http/le port de l’application et, en renseignant sslPort, il ne fait que configurer l’environnement IIS Express pour écouter https sur le nom d’hôte indiqué dans le paramètre applicationUrl le le port fourni dans sslPort.

Par exemple:

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

Fournit les deux points de terminaison suivants sur localhost.

  • Http sur le port 44400
  • Https sur le port 44300

Si vous aviez le même port dans les paramètres applicationUrl et sslPort, vous recevrez le message d'erreur associé à ce fil.

Ceci est vrai pour moi sur RC1

11
Jonathan Mast

Il est possible de mettre à niveau, j'ai trouvé que je devais regarder à travers les nouveaux modèles mis à jour ici .

Mettez à jour votre web.config dans wwwroot pour inclure:

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

Vous aurez également besoin de changer la façon dont le projet débogue en utilisant Kestrel en modifiant votre projet.json:

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

et modifier votre hosting.ini

server=Microsoft.AspNet.Server.Kestrel

et l'ajouter à la méthode Configure dans startup.cs

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

l'ajout de ces références devrait vous permettre d'exécuter le projet.

6
Ben M

J'ai rencontré ce problème en raison de la tentative de lancement du projet config https: // localhost au lieu de http. Faites un clic droit sur le projet Web, sous "Débogage" et réglez "URL de l'application" sur http au lieu de https. enter image description here

Une autre façon de contourner ce problème consistait à passer du programme de lancement "IIS Express" à "Web".

5
Mike S

Dans Visual Studio:

En suivant ce tutoriel, j'ai reçu une erreur similaire.

Tout d'abord, j'ai reçu le message d'erreur "Une erreur s'est produite lors de la tentative de détermination de l'ID de processus de dotnet.exe ...". J'ai suivi les étapes suivantes.

  1. J'ai démarré mon application sans déboguer CTRL + F5.
  2. On m'a ensuite proposé d'accepter un certificat auto-signé pour localhost.
  3. J'ai suivi les invites, puis j'ai pu visiter mon application à l'aide de l'application AppUrl que j'ai copiée après avoir activé SSL dans les paramètres de débogage du projet.

En essayant quelques solutions pour résoudre cette erreur, je suis également tombé sur cette erreur. "Une erreur s'est produite lors de la tentative de détermination de l'ID de processus du processus DNX hébergeant votre application"

Ce qui était dû à l'exécution d'une autre instance de l'application.

J'espère que cette réponse aide quelqu'un.

3
Eric

En supposant que vous exécutiez IIS Express avec SSL activé en fonction de votre installation, vous devrez mettre votre IIS Certificat de développement express (délivré à "localhost"/délivré par "localhost") dans [Ordinateur local\Personnel\Certificats] ou dans [Ordinateur local\Certification racine de confiance\Certificats]. L'un d'eux devrait fonctionner. (Sous Windows 10 + VS2015). HTH

2
Nathan Noble

Dans mon cas, dans un projet asp net core 1.1, .net Framework 4.5.2, l’erreur ne faisait pas référence à dnx car ce n’est plus. Au lieu de cela, il faisait référence au nom de projet exe. Une autre version de l'erreur mentionnée était simplement l'impossibilité de se connecter à iis express.

Le problème était l'introduction d'une règle de réécriture canonique canonique qui tente de forcer toutes les connexions à avoir un nom d'hôte commençant par www. par exemple. rediriger gty.org vers www.gty.org afin de se conformer à notre certificat SSL. Ceci est correct en production mais vous ne pouvez pas forcer https: // localhost: 44347 / == pour commencer par www et attendez-vous à ce que iis express soit capable de le gérer.

<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 solution consistait à commenter la règle lors de l'exécution dans visual studio ou à ajouter une condition:

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

J'ai utilisé RC1 et EF First Code Approach. Une bonne idée pour lancer l’enquête est de lancer le projet avec l’option "Démarrer le projet sans débogage" (Ctrl + F5). Ensuite, j'obtiens une erreur plus significative: "La section de configuration 'entityFramework' ne peut pas être lue car il manque une déclaration de section." Cela n'a pas fonctionné pour moi à cause du fichier web.config.

1
Jaryn

J'ai eu ce problème lorsque je suis en train de basculer les paramètres et j'ai désactivé le "Activer l'authentification anonyme" dans le projet> Propriétés> Déboguer. Assurez-vous qu'il est activé. Fermez et relancez le projet, puis réessayez. J'espère que cela t'aides.

1
wolfQueen
  1. Mettre à jour dnvm
  2. Changer la version de sdk de global.json en tant que valeur par défaut du fichier dnvm
  3. Pas besoin de toucher project.json ou project.lock.json
1
Shuang Gao

Vérifiez le fichier web.config pour les entrées non valides. Par exemple, avoir la balise "entityFramework" là cause ce problème pour moi.

1
Victor Stagurov

Il y a tellement de choses qui pourraient causer cette erreur. En voici quelques-unes qui ont fonctionné pour moi:

  1. Supprimez simplement le web.config Dans votre dossier wwwroot. Il sera recréé correctement lors de la compilation.
  2. Si vous essayez d'utiliser SSL et dans votre IIS Express, Déplacez votre SSL Cert Vers le dossier Trusted Root Certification Authorities Ne fonctionne pas. Dans l'onglet Debug de Properties du projet que vous essayez d'exécuter. Essayez de désélectionner la case à cocher Enable SSL, Puis de cliquer à nouveau dessus pour l'activer et obtenir un autre port. Vous devrez peut-être le faire plusieurs fois.
0
Serj Sagan

Je viens de découvrir un autre problème qui causait cela!

web.config Dans la racine du projet, certaines règles douteuses IIS ont été réécrites pour appliquer HTTPS. La suppression de ces règles a résolu le problème.

0
Ignas

ne autre solution potentielle
Pour tous ceux qui jouent avec les paramètres SSL, j'ai trouvé qu'il suffisait de changer le port SSL dans le launchSettings.json fichier sur un autre port proche a résolu le problème.

Pour votre information, je n'ai rien trouvé sur la machine utilisant le port d'origine ni d'erreur de port en cours d'utilisation.

0
Ben Cull

Lors de la mise à niveau de beta7 -> beta8, ce problème et les suggestions de Ben M et Domysee ont fonctionné pour moi. Cependant, un de mes collègues avait toujours des problèmes pour exécuter notre projet qui cible dnxcore50 seulement. Si vous vous assurez que vous avez exécuté les commandes suivantes:

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

C'est la deuxième commande en particulier qui l'a fixée sur sa machine. Vous pouvez également vérifier que ce dossier a un fichier dnx.exe dedans:

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