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

问题描述 投票:55回答:14

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

Global.json文件

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

Project.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%" ]
  }
}

在我的电脑中点网版

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

[

c# asp.net asp.net-mvc asp.net-core
14个回答
92
投票

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

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

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

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

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


0
投票

我通过以下方式修复此问题

CMD:

netsh http add iplisten ipaddress = 192.168.xxx.xxx

然后控制+ c存在,然后iisreset


0
投票

我遇到了同样的问题,我要修复的是在我的launchSettings.json中我添加了这行代码并且不会将http更改为https,否则您将得到相同的错误

“iisSettings”:{“windowsAuthentication”:false,“anonymousAuthentication”:true,“iisExpress”:{“applicationUrl”:“http://localhost:add your localhost Id”,“sslPort”:44342}


0
投票

Make sure your IP address hasn't changed (if using a DNS name)

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

如果您正在使用NAT并且没有为您的计算机分配固定的本地IP,则这很容易做到。事实上,在您获得新IP之前可能需要几个月才能让它变得更加混乱!

我有一个条目

192.168.1.134 dev.example.com

在我的主机文件中,但我的本地IP已更改为192.168.1.136

您可以使用127.0.0.1代替。

在为我的情况修复此问题后,我不得不重新启动Visual Studio,以及完整的IIS(不确定原因)。

PS。我实际上在我的“真实DNS”中设置了192.168.1.134,以便在具有正确DNS名称和证书的移动设备上进行测试。所以当这个改变时就会中断。


0
投票

确保没有为LAN启用代理

其他答案很好,但在崩溃后重启后我收到了这个错误。当Windows崩溃时,它正在运行Fiddler,它将自己注册为LAN代理。由于崩溃和Windows启动浏览器等工作时,Fiddler无法取消注册,但是LAN代理设置现在正在搞乱IIS Express的访问(也可能会破坏IIS)

因此,请确保您没有在Internet选项中配置本地代理


0
投票

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

dotnet dev-certs https --trust

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


0
投票

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

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

0
投票

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


42
投票

请注意,要使IIS Express使用SSL,端口需要处于44300到44399范围内(来自How do I restore a missing IIS Express SSL Certificate? -original article 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),如果系统提示您添加安全例外。


31
投票

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

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

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

您现在都已设置为在调试模式下使用F5运行项目。


8
投票

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

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

终于让我的应用程序在HTTP本地调试的原因是清除我的Chrome缓存。

希望这可以帮助那些被困的人!


2
投票

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


1
投票

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


1
投票

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


0
投票

如果你使用的是IIS(而不是Express),那么简单的Stop and Start就可以了。


0
投票

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

  • 将appsettings.Development.json从Solution文件夹复制到\ bin \ Debug \ netcoreapp2.0
  • 将其重命名为appsettings.json

对我来说就像一个魅力。

© www.soinside.com 2019 - 2024. All rights reserved.