Ich erhalte diese Fehlermeldung, wenn ich versuche, die Anwendung zu starten.
Beim Versuch, die Prozess-ID des DNX-Prozesses zu ermitteln, auf dem sich Ihre Anwendung befindet, ist ein Fehler aufgetreten
Gibt es eine Möglichkeit, das Problem zu beheben?
c#
asp.net-core
Domysee
quelle
quelle
project.lock.json
?Microsoft hat das Hosting-Modell wie in den Versionshinweisen beschrieben geändert .
In
project.json
ersetzen die Abhängigkeitmit
In
web.config
derhandlers
Sektion entfernt jeden Eintrag außerDas Ganze
web.config
wird so aussehen:RC1: Während der Verwendung von RC1 hatte ich den Fehler nach dem Verschieben des Lösungsordners. Nach dem Löschen der Ordner
bin
undobj
funktionierte alles wieder.Wie der Benutzer 764754 feststellte, kann auch ein einfacher Neustart von Visual Studio hilfreich sein.
quelle
Für andere Personen mit diesem Problem, in Fällen, in denen die anderen Lösungen nicht funktionieren, habe ich die Antwort in diesem Thread gefunden: Erzwingen der Verwendung von SSL: Beim Versuch, die Prozess-ID des DNX-Prozesses zu ermitteln, der Ihre Anwendung hostet, ist ein Fehler aufgetreten
Wenn Ihr Projekt SSL verwendet oder erzwingt, führen Sie es zuerst ohne Debugging (STRG + F5) aus. Anschließend werden Sie aufgefordert, ein lokales SSL-Zertifikat zu generieren. Danach funktioniert das Debuggen und der Fehler ist behoben.
quelle
Für das, was es wert ist, ist dies eine generische Fehlermeldung , die als roter Hering für eine beliebige Anzahl von Problemen dienen kann, bei denen der httpPlatformHandler die angegebene ausführbare Datei (in diesem Fall dnx) nicht starten kann.
In meinem Fall habe ich diesen Fehler als direkte Folge eines Missverständnisses der Datei launchSettings.json erhalten. Ich habe versucht, den https-Endpunkt für meine Anwendung zu aktivieren, und versehentlich den sslport in meiner applicationUrl dupliziert. Soweit ich weiß, sollte die applicationUrl der http-Hostname / Port der Anwendung sein. Durch Ausfüllen des sslPort wird die IIS Express-Umgebung so konfiguriert, dass sie auf https für den in der applicationUrl angegebenen Hostnamen auf dem in sslPort angegebenen Port wartet.
Beispielsweise:
Bietet die folgenden zwei Endpunkte auf localhost.
Wenn Sie in den Einstellungen applicationUrl und sslPort denselben Port haben, wird der mit diesem Thread verknüpfte Fehler angezeigt.
Dies gilt für mich auf RC1
quelle
Es ist möglich, ein Upgrade durchzuführen. Ich musste die neuen aktualisierten Vorlagen hier durchsehen .
Aktualisieren Sie Ihre web.config in wwwroot, um Folgendes einzuschließen:
Sie müssen auch die Art und Weise ändern, wie das Projekt mit Kestrel debuggt , indem Sie Ihre project.json ändern :
und ändern Sie Ihre hosting.ini
und Hinzufügen dieser zur Configure-Methode in startup.cs
Durch Hinzufügen dieser Referenzen sollten Sie das Projekt ausführen können.
quelle
Ich bin auf dieses Problem gestoßen, weil die Projektkonfiguration versucht hat, https: // localhost anstelle von http zu starten . Klicken Sie mit der rechten Maustaste auf das Webprojekt unter "Debuggen" und stellen Sie "App-URL" auf http anstelle von https ein.
Eine andere Möglichkeit, dies zu umgehen, bestand darin, den Launcher von "IIS Express" auf "Web" umzustellen.
quelle
In Visual Studio:
Während ich diesem Tutorial folgte, erhielt ich einen ähnlichen Fehler.
Zuerst erhielt ich den Fehler: "Beim Versuch, die Prozess-ID von dotnet.exe zu ermitteln, ist ein Fehler aufgetreten ..." Ich habe die folgenden Schritte ausgeführt.
Beim Versuch, diesen Fehler zu beheben, bin ich auch auf diesen Fehler gestoßen. "Beim Versuch, die Prozess-ID des DNX-Prozesses zu ermitteln, auf dem Ihre Anwendung gehostet wird, ist ein Fehler aufgetreten."
Dies wurde dadurch verursacht, dass eine andere Instanz der Anwendung ausgeführt wurde.
Ich hoffe diese Antwort hilft jemandem.
quelle
In meinem Fall in einem asp net core 1.1, .net Framework 4.5.2-Projekt bezog sich der Fehler nicht auf dnx, da dies nicht mehr der Fall ist. Stattdessen bezog es sich auf den Projektnamen exe. Eine andere Version des Fehlers bezog sich darauf, einfach keine Verbindung zu iis express herstellen zu können.
Das Problem war die Einführung einer kanonischen Regel zum Umschreiben von Hostnamen , mit der versucht wird, alle Verbindungen zu einem Hostnamen zu zwingen, der mit www beginnt. zB Weiterleiten von gty.org an www.gty.org, um unserem SSL-Zertifikat zu entsprechen. Dies ist in der Produktion in Ordnung, aber Sie können https: // localhost: 44347 / nicht zwingen , mit www zu beginnen, und erwarten, dass iis express damit umgehen kann.
Die Lösung bestand darin, die Regel beim Ausführen in Visual Studio zu kommentieren oder eine Bedingung hinzuzufügen:
quelle
Angenommen, Sie führen IIS Express mit aktiviertem SSL aus. Abhängig von Ihrer Installation müssen Sie Ihr IIS Express-Entwicklungszertifikat (ausgestellt an "localhost" / ausgestellt von "localhost") entweder in [Lokaler Computer \ Personal \ Zertifikate] oder [Lokaler Computer] ablegen \ Vertrauenswürdige Stammzertifizierung \ Zertifikate]. Eine davon sollte funktionieren. (Unter Windows 10 + VS2015). HTH
quelle
Überprüfen Sie die Datei web.config auf ungültige Einträge. Wenn ich beispielsweise das Tag "entityFramework" dort habe, verursacht dies dieses Problem für mich.
quelle
Ich hatte dieses Problem beim Umschalten der Einstellungen und habe die Option " Anonyme Authentifizierung aktivieren " unter Projekt> Eigenschaften> Debug deaktiviert . Stellen Sie sicher, dass es aktiviert ist. Schließen Sie das Projekt, starten Sie es neu und versuchen Sie es erneut. Hoffe das hilft.
quelle
Ich habe RC1 und EF First Code Approach verwendet. Eine gute Idee, um die Untersuchung zu starten, besteht darin, das Projekt mit der Option "Projekt ohne Debbug starten" (Strg + F5) auszuführen. Dann erhalte ich einen aussagekräftigeren Fehler: "Der Konfigurationsabschnitt 'entityFramework' kann nicht gelesen werden, da eine Abschnittsdeklaration fehlt." Bei mir hat es wegen der Datei web.config nicht funktioniert.
quelle
quelle
Beim Upgrade von Beta7 -> Beta8 hatte ich dieses Problem und die Vorschläge von Ben M und Domysee haben für mich funktioniert. Einer meiner Kollegen hatte jedoch immer noch Probleme, unser Projekt auszuführen, das
dnxcore50
nur auf Ziele abzielt. Wenn Sie sicherstellen, dass Sie die folgenden Befehle ausgeführt haben:Es war insbesondere der zweite Befehl, der ihn auf seiner Maschine reparierte. Sie können auch überprüfen, ob dieser Ordner Folgendes enthält
dnx.exe
:quelle
Ich habe gerade ein weiteres Problem entdeckt, das dies verursacht hat!
web.config
In Project Root gab es einige zweifelhafte Regeln zum Umschreiben von IIS-URLs, um HTTPS durchzusetzen. Das Entfernen dieser Regeln löste das Problem.quelle
Es gibt einfach so viele Dinge, die diesen Fehler verursachen können. Hier sind einige, die für mich funktioniert haben:
web.config
Sie einfach die in Ihremwwwroot
Ordner. Es wird beim Kompilieren korrekt neu erstellt.SSL
und in IhremIIS Express
undSSL Cert
in denTrusted Root Certification Authorities
Ordner zu verschieben, hat dies nicht funktioniert. Auf derDebug
Registerkarte desProperties
Projekts, das Sie ausführen möchten. Deaktivieren Sie dasEnable SSL
Kontrollkästchen und klicken Sie erneut darauf, um es zu aktivieren und einen anderen Port zu erhalten. Möglicherweise müssen Sie dies einige Male tun.quelle
Eine weitere mögliche Lösung
Für alle, die mit SSL-Einstellungen spielen, habe ich festgestellt, dass nur der SSL-Port im geändert wurde
launchSettings.json
das Problem durch Datei in einen anderen nahe gelegenen Port behoben.Zu Ihrer Information, ich konnte über den ursprünglichen Port nichts auf dem Computer finden, und ich habe auch keinen Fehler bei der Verwendung des Ports erhalten.
quelle