尝试确定托pipe应用程序的DNX进程的进程ID时发生错误

当我尝试启动应用程序时出现此错误消息。

尝试确定托pipe应用程序的DNX进程的进程ID时发生错误

有没有办法解决这个问题?

对于我来说,通过closuresVisual Studio来解决问题,删除

project.lock.json 

并再次启动Visual Studio。

编辑 :我正在使用RC1。

Microsoft按照发行说明中的描述更改了托pipe模式。

project.jsonreplace依赖项

“Microsoft.AspNet.Server.IIS”:“1.0.0-beta7”

“Microsoft.AspNet.Server.Kestrel”:“1.0.0-beta8”


handlers部分的web.config中删除每个条目

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

完整的web.config将如下所示:

 <?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:使用RC1时,移动解决scheme文件夹后出现错误。 删除binobj文件夹后,所有的东西都再次运行。
正如user764754指出的,只需重新启动Visual Studio也可以帮助。

对于其他人有这个问题,在其他解决scheme不起作用的情况下,我在这个线程中find了答案: 强制使用SSL:尝试确定托pipe您的应用程序的DNX进程的进程ID时发生错误

如果你的项目使用或者强制SSL运行它而不进行debugging(CTRL + F5),它会要求你生成一个本地的SSL证书,之后的debugging工作,错误将会消失。

对于它的价值,这是一个通用的错误消息 ,可以作为一个httpPlatformHandler无法启动给定​​的可执行文件(本例中为dnx)的任何数量的问题的鲱鱼。

在我的情况下,我收到这个错误,直接导致误解launchSettings.json文件。 我正在尝试为我的应用程序启用https端点,并错误地在我的applicationUrl中复制了sslport。 据我了解,applicationUrl应该是应用程序的http主机名/端口,通过填充sslPort,它只是configurationIIS Express环境,以监听sslPort中提供的端口上的applicationUrl中给出的主机名上的https。

例如:

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

在本地主机上提供以下两个端点。

  • Http通过端口44400
  • 通过端口44300

如果您在applicationUrl和sslPort设置中具有相同的端口,则会收到与此线程关联的错误。

RC1对我来说这是真的

有可能升级,我发现我不得不在这里查看新的更新模板。

在wwwroot中更新你的web.config包含:

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

您还需要通过修改您的project.json来更改项目使用Kestrel进行debugging的方式:

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

并修改您的hosting.ini

 server=Microsoft.AspNet.Server.Kestrel 

并将其添加到startup.cs中的Configure方法

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

添加这些引用应允许您运行该项目。

我遇到了这个问题,由于项目configuration尝试启动https:// localhost而不是http。 右键单击webproject,在“debugging”下,并将“应用程序URL”调整为http而不是https。 在这里输入图像说明

另一种解决方法是将启动器从“IIS Express”切换到“Web”

在Visual Studio中:

按照这个教程,我收到了一个类似的错误。

首先,我收到错误:“尝试确定dotnet.exe的进程ID发生错误…”我采取了以下步骤。

  1. 我开始我的应用程序没有debuggingCTRL + F5。
  2. 然后我提供了一个选项来接受本地主机的自签名证书。
  3. 我遵循提示,然后使用在项目debugging设置中启用SSL后复制的AppUrl访问我的应用程序。

虽然尝试一些事情来解决这个错误,我也遇到了这个错误。 “尝试确定托pipe应用程序的DNX进程的进程ID时发生错误”

这是由于运行了另一个应用程序实例造成的。

我希望这个答案有助于某人。

在我的情况下,在一个aspnetworking核心1.1,.NET框架4.5.2项目,错误没有提到dnx,因为没有更多。 相反,它提到了项目名称exe。 错误的另一个版本提到简单地无法连接到iis express。

问题是引入规范主机名重写规则 ,试图强制所有连接都有一个以www开头的主机名。 例如将gty.orgredirect到www.gty.org以符合我们的SSL证书。 这在生产中很好,但不能强制https:// localhost:44347 /以www开头,希望iis express能够处理它。

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

解决scheme是在visual studio中运行时注释掉规则或者添加一个条件:

 <add input="{HTTP_HOST}" negate="true" pattern="^localhost" /> 

假设您正在运行启用了SSL的IIS Express,具体取决于您的安装,您必须将您的IIS Express开发证书(颁发给“localhost”/颁发者为“localhost”)放在[Local Computer \ Personal \ Certificates]或[Local Computer \受信任的根证书\证书]。 其中之一应该工作。 (使用Windows 10 + VS2015)。 HTH

检查web.config文件中的无效条目。 例如,具有“entityFramework”标签就会导致这个问题。

当我切换设置并禁用了“项目”>“属性”>“debugging”中的“ 启用匿名身份validation ”时,我遇到了这个问题。 确保它已启用。 closures并重新启动项目,然后再试一次。 希望这可以帮助。

我使用RC1和EF第一代码方法。 开始调查的好主意是运行带有选项的项目:“不启动项目”(Ctrl + F5)。 然后我得到了更有意义的错误:“configuration节'entityFramework'不能被读取,因为它缺less一个节声明。 由于web.config文件,它不适用于我。

  1. 更新dnvm
  2. 更改global.json sdk版本作为dnvm的默认值
  3. 无需触摸project.json或project.lock.json

从beta7 – > beta8升级时,我遇到了这个问题,Ben M和Domysee提供的build议为我工作。 但是,我的一个同事在运行我们的只针对dnxcore50的项目时仍然遇到问题。 如果你确定你已经运行了下面的命令:

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

特别是把它固定在他的机器上的第二个命令。 你也可以仔细检查这个文件夹里有一个dnx.exe

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

我刚刚发现了一个导致这个问题的问题!

项目根目录中的web.config有一些恶意的IIS URL重写规则来执行HTTPS。 删除这些规则解决了这个问题。

有太多的东西可能会导致这个错误。 这里有几个为我工作:

  1. 只需删除您的wwwroot文件夹中的web.config 。 它将在编译时正确重新创build。
  2. 如果您尝试使用SSL并在IIS Express中将SSL Cert移动到“ Trusted Root Certification Authorities文件夹不起作用。 您尝试运行的项目的“ Properties ”的“ Debug选项卡中。 尝试unclicking Enable SSLcheckbox,然后再次单击以启用它,并获得一个不同的端口。 你可能需要做几次。

另一个潜在的解
对于任何使用SSL设置的用户,我发现只要将launchSettings.json文件中的SSL端口更改为另一个附近的端口即可解决问题。

仅供参考,我在使用原始端口的机器上找不到任何东西,也没有得到端口使用错误。