尝试确定托管应用程序的 dotnet.exe 的进程 ID 时发生错误。发生一个或多个错误

Posted

技术标签:

【中文标题】尝试确定托管应用程序的 dotnet.exe 的进程 ID 时发生错误。发生一个或多个错误【英文标题】:An error occurred attempting to determine the process id of dotnet.exe which is hosting your application. One or more error occured 【发布时间】:2017-04-19 07:49:22 【问题描述】:

我已经从源 url 克隆了项目。我的朋友使用 .NetCore 1.0.0-preview2-003121 sdk 开发了 asp.net core web 应用程序。但是在我的电脑上我安装了 .NetCore 1.0.1-preview2-003131 sdk。 我收到了错误。我更改了 global.json 文件中的版本,如下所示,但仍然没有解决方案。我用谷歌搜索,但所有解决方案都不适合我。

Global.json 文件


  "projects": [ "src", "test" ],
  "sdk": 
    "version": "1.0.0-preview2-003131"
  

项目.json


  "userSecretsId": "aspnet-FMM-02f339eb-4af7-42c9-b7f3-d05b48d36811",

  "dependencies": 
    "Microsoft.NETCore.App": 
      "version": "1.0.0",
      "type": "platform"
    ,
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": 
      "version": "1.0.0-preview2-final",
      "type": "build"
    ,
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": 
      "version": "1.0.0-preview2-final",
      "type": "build"
    ,
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": 
      "version": "1.0.0-preview2-final",
      "type": "build"
    ,
    "Microsoft.EntityFrameworkCore.Tools": 
      "version": "1.0.0-preview2-final",
      "type": "build"
    ,
    "Microsoft.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.Relational": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Authentication.Facebook": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Google": "1.0.0",
    "MailKit": "1.8.1",
    "NLog.Extensions.Logging": "1.0.0-*",
    "System.Data.SqlClient": "4.1.0"
  ,

  "tools": 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": 
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8"
      ]
    
  ,

  "frameworks": 
    "netcoreapp1.0": 
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    
  ,

  "buildOptions": 
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "xmlDoc": false
  ,

  "runtimeOptions": 
    "configProperties": 
      "System.GC.Server": true
    
  ,

  "publishOptions": 
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config",
      "nlog.config"
    ]
  ,

  "scripts": 
    "prepublish": [ "bower install" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  

我电脑中的点网版

我该如何解决这个问题。请任何人都可以让我知道这件事。 [

[

【问题讨论】:

在项目所在目录(即project.json所在目录)运行dotnet build得到的错误信息是什么?另外,在不知道您收到的错误消息的情况下...您可以从global.json 中注释掉"sdk": "version": "1.0.0-preview2-003131" 并尝试一下吗? @kimbaudi 我评论了 sdk 相同的错误。我已经上传了错误屏幕截图。请看一下 我希望你能打开你的命令提示符和cd /d "D:\fish\FishermansMate\src\FMM"。然后输入dotnet build,然后输入dotnet run。你能试一下吗?根据您的 Visual Studio 输出屏幕截图,您似乎有另一个进程正在运行 dotnet,这意味着您可能需要重新启动 PC 并再次尝试运行它。这可能会解决您的问题。 @kimbaudi - 同样的问题....不工作 尝试删除 bin 和 obj 文件夹。也尝试删除 project.lock.json。之后,重新启动 Visual Studio 并重建项目。 【参考方案1】:

试图确定托管您的应用程序的 dotnet.exe 的进程 ID 时发生错误。发生了一个或多个错误。

当三件事都成立时,就会出现这个问题:

    您的应用正在尝试使用 SSL 运行, 您的应用没有设置 SSL 证书,并且 您正在调试您的应用程序(这会阻止 SSL 证书设置)。

作为快速修复尝试,通过 Ctrl + F5 运行应用程序而不进行调试,或通过 在浏览器中查看应用程序Ctrl + Shift + W。这可能会为您安装 SSL 证书。如果不是,请考虑将应用的启动设置从 HTTPS 更改为 HTTP。如果您确实需要 SSL,则必须弄清楚如何在本地计算机上安装和使用 SSL 证书。

在 GitHub 和 *** 上查看这些内容。

https://github.com/aspnet/Home/issues/1608 https://github.com/aspnet/Home/issues/1723 https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-aspnetcore/issues/17 An error occurred attempting to determine the process id of the DNX process hosting your application on clean installed windows 10 + vs2015

【讨论】:

如果应用程序不使用 SSL,有什么想法会导致这种情况吗? 我得到同样的错误,但没有在 https 中运行,“启用 SSL”只是关闭,仍然得到这个错误,任何指针??【参考方案2】:

请注意,要使 IIS Express 与 SSL 一起使用,端口需要在 44300 到 44399 范围内(来自How do I restore a missing IIS Express SSL Certificate? - 原始文章https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-without-administrative-privileges)

对于其他端口,Visual Studio 2017 没有安装 SSL 证书,但我能够按照 How do I restore a missing IIS Express SSL Certificate? 中的建议安装它

从提升的命令提示符运行(指定您的端口号):

    cd "C:\Program Files (x86)\IIS Express"
    IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:55555/ -UseSelfSigned

编辑:

然后浏览到网站https://localhost:44348/(使用FF),如果系统提示您添加安全例外。

【讨论】:

那个帮助了我。更改端口解决了问题。谢谢。 这应该是选择的答案 你是绝对正确的,使用的是 43301 而不是 44301 为我节省了大量时间【参考方案3】:

当您尝试在启用“启用 SSL”设置的情况下运行您的应用程序时,并且如果自签名证书尚未安装为受信任的根证书时,可能会发生这种情况。

要修复,请按以下步骤操作:

    CTRLF5 启动应用程序并让 VS 创建自签名证书。 如果应用程序没有在 Internet Explorer 中启动,请打开一个 IE 窗口并将启动 URL 复制/粘贴到该窗口中。 IE 将显示证书警告。点击“继续访问此网站”。 点击地址栏中的红色证书错误符号,然后点击“查看证书”。 在打开的对话框中单击“安装证书...”。 在认证安装对话框中选择“本地机器”(不是“当前用户”),然后点击“下一步”。 选择“将所有证书放入以下存储”并在“浏览...”对话框中选择“受信任的根证书颁发机构”。 完成安装对话框,然后关闭并重新打开浏览器选项卡。现在应该不会显示证书错误了。

现在您已准备好在调试模式下使用 F5 运行您的项目。

【讨论】:

这为我修好了。 正是我想要的【参考方案4】:

我遇到了同样的问题,最终意识到我已经在我的应用程序的 web.config 中设置了 HTTPS URL 重写以用于生产。但是,我不想在我的开发环境中弄乱 SSL,所以我决定将其删除。

删除该部分并再次尝试调试应用程序后,我注意到 Chrome 一直将我的 localhost 重定向到 HTTPS,尽管我没有在应用程序属性中选择“启用 SSL”。

最终让我的应用再次在 HTTP 本地调试的是清除我的 Chrome 缓存。

希望这可以帮助其他陷入困境的人!

【讨论】:

从 HTTP 到 HTTP 的重定向很可能是因为 HSTS 设置。在 Chrome 的地址栏中输入以下内容,然后按 enter chrome://net-internals/#hsts【参考方案5】:

如果您使用的是 Windows,请记住始终在 System32 文件夹内的 hosts 文件中声明您的新 IIS 网站。这是我的情况,感觉糟透了!

【讨论】:

【参考方案6】:

我遇到了同样的错误。就我而言,我忽略了我的 web.config 文件 (doh) 中有 URL 重写规则的事实。注释掉重写规则解决了这个问题。

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirect to Https" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="HTTPS" pattern="^OFF$" />
          </conditions>
          <action type="Redirect" url="https://HTTP_HOSTREQUEST_URI" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

【讨论】:

【参考方案7】:

我有一个 .NET Core 应用程序,但我不小心将 IIS 设置 launchSettings.json 更改为使用 https 而不是 http。自动恢复该更改解决了我的问题。

【讨论】:

【参考方案8】:

通过在 PropertyGroup 中添加 .csproj 文件为我解决了这个问题

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

【讨论】:

从 OutOfProcess 更改为 InProcess 后,问题为我们解决了。【参考方案9】:

就我而言,问题是由于 web.config (http -> https) 中的重定向规则而出现的。尝试禁用重定向规则并检查它是否有效。

【讨论】:

我不得不同时删除 httpRedirectrewrite 部分【参考方案10】:

在我的项目中,我通过将 Hosting Model as In Process 更改为修复此错误。 请进入启动解决方案的属性区域并将其更改为 In Process 然后尝试。 就我而言,它不是通过多次删除 bin 和 obj 来解决的,而是在我结束时更改此托管模型解决了问题。 请按照此屏幕截图:

编码愉快:)

【讨论】:

【参考方案11】:

如果您使用的是 IIS(不是 Express),只需简单的停止和启动即可完成工作。

【讨论】:

【参考方案12】:

我通过以下步骤解决了这个问题:

将 appsettings.Development.json 从解决方案文件夹复制到 \bin\Debug\netcoreapp2.0 将其重命名为 appsettings.json

对我来说就像一个魅力。

【讨论】:

【参考方案13】:

我通过这样做解决了这个问题:

CMD:

netsh http 添加iplisten ipaddress=192.168.xxx.xxx

然后 control + c 存在, 然后 iis重置

【讨论】:

【参考方案14】:

我遇到了同样的问题,我在launchSettings.json中做了什么我添加了这行代码,不要将http更改为https,否则你会得到同样的错误

“iis设置”: “windows身份验证”:假, “匿名身份验证”:真, “iisExpress”: "applicationUrl": "http://localhost:add你的本地主机 ID", “ssl端口”:44342

【讨论】:

【参考方案15】:

确保您的 IP 地址没有更改(如果使用 DNS 名称)

无论是使用“真实 DNS”还是在 hosts 中覆盖,请确保您的本地 IP 没有更改。

如果您使用的是 NAT,并且没有为您的机器分配固定的本地 IP,这很容易做到。事实上,您可能需要几个月的时间才能获得新 IP,这让您更加困惑!

我有一个条目

192.168.1.134 dev.example.com

在我的 hosts 文件中,但我的本地 IP 更改为 192.168.1.136

您或许可以改用127.0.0.1

在为我的情况修复此问题后,我不得不重新启动 Visual Studio,以及完整的 IIS(不知道为什么)。

附言。我实际上在我的“真实 DNS”中设置了192.168.1.134,以方便在具有正确 DNS 名称和证书的移动设备上进行测试。所以当它发生变化时,它就会中断。

【讨论】:

【参考方案16】:

确保您没有为 LAN 启用代理

其他答案很好,但我在崩溃后重新启动后收到此错误。 当 Windows 崩溃时,它正在运行 Fiddler,它将自己注册为 LAN 代理。 Fiddler 由于崩溃而无法注销自己,并且当 Windows 启动浏览器等工作时,但 LAN 代理设置现在扰乱了对 IIS Express 的访问(也可能与 IIS 混淆)

所以请确保您没有在 Internet 选项中配置本地代理

【讨论】:

【参考方案17】:

我无法让 IIS Express 使用 HTTPS 运行,但我能够使用“webApp”配置文件(作为项目启动)使其工作。从命令行,我必须运行:

dotnet dev-certs https --trust

--trust 是可选的,但会阻止浏览器对不受信任的证书发出警告。

【讨论】:

【参考方案18】:

我遇到了同样的问题,尝试了这里提到的几乎所有解决方案,但在解决了我能够运行我的项目的问题后,最终发现我的错误列表中有错误。

【讨论】:

【参考方案19】:

在看到 Shaun Luttin 正确答案后,我发现了我的问题。

我在 web.config 中重写了规则,我在调试时忘记注释掉,然后在部署到“自动”重定向到 HTTPS 时取消注释。

(带有 web.config 的 MVC Core 3.1)

以下是问题:

<rewrite>
      <rules>
        <clear />
        <rule name="Redirect to https" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="HTTPS" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://HTTP_HOSTREQUEST_URI" redirectType="Permanent" appendQueryString="false" />
        </rule>
      </rules>
    </rewrite>

【讨论】:

【参考方案20】:

我没有使用 SSL,所以原因很可能是其他原因。对我来说,如果我以管理员身份运行 Visual Studio,它就可以工作。

【讨论】:

以上是关于尝试确定托管应用程序的 dotnet.exe 的进程 ID 时发生错误。发生一个或多个错误的主要内容,如果未能解决你的问题,请参考以下文章

无法启动进程 dotnet.exe

错误:C:\Program Files\dotnet\dotnet.exe 失败,返回码:1

尝试通过PowerShell脚本查找并终止进程

在 .NET Core RC2 中构建 .exe 文件

删除 按任意键继续

托管龙卷风/websocket 应用程序