Antworten:
Für mich wurde das Problem gelöst, indem Visual Studio geschlossen und gelöscht wurde
project.lock.json
und Visual Studio erneut starten.
Bearbeiten : Ich habe RC1 verwendet.
project.lock.json
?
Microsoft hat das Hosting-Modell wie in den Versionshinweisen beschrieben geändert .
In project.json
ersetzen die Abhängigkeit
"Microsoft.AspNet.Server.IIS": "1.0.0-beta7"
mit
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8"
In web.config
der handlers
Sektion entfernt jeden Eintrag außer
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
Das Ganze web.config
wird so aussehen:
<?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: Während der Verwendung von RC1 hatte ich den Fehler nach dem Verschieben des Lösungsordners. Nach dem Löschen der Ordner bin
und obj
funktionierte alles wieder.
Wie der Benutzer 764754 feststellte, kann auch ein einfacher Neustart von Visual Studio hilfreich sein.
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.
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:
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:44000",
"sslPort": 44300
}
}
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
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:
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
Sie müssen auch die Art und Weise ändern, wie das Projekt mit Kestrel debuggt , indem Sie Ihre project.json ändern :
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
}
und ändern Sie Ihre hosting.ini
server=Microsoft.AspNet.Server.Kestrel
und Hinzufügen dieser zur Configure-Methode in startup.cs
// Add the platform handler to the request pipeline.
app.UseIISPlatformHandler();
Durch Hinzufügen dieser Referenzen sollten Sie das Projekt ausführen können.
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.
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.
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.
<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>
Die Lösung bestand darin, die Regel beim Ausführen in Visual Studio zu kommentieren oder eine Bedingung hinzuzufügen:
<add input="{HTTP_HOST}" negate="true" pattern="^localhost" />
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
Ü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.
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.
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.
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:
dnvm install 1.0.0-beta8 -r coreclr
dnvm install 1.0.0-beta8 -r coreclr -arch x86
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
:
%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta8\bin
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 Ihrem IIS Express
und SSL Cert
in den Trusted Root Certification Authorities
Ordner zu verschieben, hat dies nicht funktioniert. Auf der Debug
Registerkarte des Properties
Projekts, das Sie ausführen möchten. Deaktivieren Sie das Enable 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.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 wurdelaunchSettings.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.