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?
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.
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.
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.
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.
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
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.
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.
Une autre façon de contourner ce problème consistait à passer du programme de lancement "IIS Express" à "Web".
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.
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.
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
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" />
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.
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.
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.
Il y a tellement de choses qui pourraient causer cette erreur. En voici quelques-unes qui ont fonctionné pour moi:
web.config
Dans votre dossier wwwroot
. Il sera recréé correctement lors de la compilation.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.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.
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.
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