试图确定承载应用程序的 dotnet.exe 的进程 id 时出错。出现一个或多个错误

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

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

点网版本在我的电脑

我怎样才能解决这个问题。请任何人都可以让我知道这一点。 图片来源: http://i.stack.imgur.com/YNkcD.png”alt = “ enter image description here”>

[enter image description here

63021 次浏览

试图确定承载应用程序的 dotnet.exe 的进程 id 时出错。发生了一个或多个错误。

这个问题可能发生在三件事情是正确的时候:

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

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

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

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

在删除这一部分并尝试再次调试应用程序之后,我注意到 Chrome 一直在将我的本地主机重定向到 HTTPS,尽管事实上我没有在应用程序属性中选择“ Enable SSL”。

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

希望这能帮到其他被困住的人!

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

要解决这个问题,请遵循以下步骤:

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

现在,您已经设置好在调试模式下使用 F5运行项目。

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

注意,对于使用 SSL 的 IISExpress,端口必须位于 44300到44399范围中(来自 如何恢复丢失的 IIS 快速 SSL 证书?-最初的文章 https://learn.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-without-administrative-privileges)

对于其他端口,VisualStudio2017没有安装 SSL 证书,但是我能够按照 如何恢复丢失的 IIS 快速 SSL 证书?中的建议安装它

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

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

编辑:

然后浏览到网站 https://localhost:44348/(使用 FF) ,如果你被提示添加安全异常。

如果您正在使用 IIS (而不是 Express) ,一个简单的 Stop and Start of 就可以完成这项工作。

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

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

对我来说非常有效。

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

我通过以下方式解决了这个问题:

CMD:

Netsh 译注: Add iplisten ipaddress = 192.168.xxx.xxx

然后控制 + c 存在, 那么 重置

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

“ iisSettings”: { “ windowsAuthentication”: false, “匿名认证”: 正确, “ iisExpress”: { “ applicationUrl”: “ http://localhost:add your localhost Id”, “ sslPort”: 44342 }

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

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

如果您正在使用 NAT,并且您没有一个固定的本地 IP 分配给您的机器,这是非常容易做到的。事实上,它可能是几个月之前,你发出了一个新的 IP 使它所有更混乱!

我有个条目

192.168.1.134 dev.example.com

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

您可以改用 127.0.0.1

在为我的案例修复这个问题之后,我不得不重新启动 VisualStudio,并且重新启动完整的 IIS (不知道为什么)。

附言。我实际上设置 192.168.1.134在我的’真正的 DNS’,以方便测试移动设备与一个正确的 DNS 名称和证书。所以当这种情况发生变化时,它就会破裂。

确保您没有为 LAN 启用代理

其他答案是伟大的,但我得到了这个错误后,重新启动崩溃。 当 Windows 崩溃时,它正在运行 Fiddler,它将自己注册为一个 LAN 代理。 Fiddler 由于崩溃和当 Windows 启动浏览器等工作时无法注销自己,但局域网代理设置现在扰乱了对 IIS Express 的访问(可能也会扰乱 IIS)

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

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

dotnet dev-certs https --trust

——信任是可选的,但将防止浏览器对不受信任的证书发出警告。

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

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

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

在我的例子中,问题是由 web.config 中的重定向规则(http-> https)引起的。尝试禁用重定向规则并检查它是否有效。

我遇到了同样的错误。在我的例子中,我忽略了在 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_HOST}{REQUEST_URI}" />
</rule>
</rules>
</rewrite>
</system.webServer>

我没有使用 SSL,所以原因很可能是别的什么。对我来说,如果我以管理员的身份运行 VisualStudio,那么它就可以工作。

在我的项目中,我通过更改 进程托管模型修复了这个错误。 请进入启动解决方案的属性区域,将其更改为 In Process,然后尝试。 在我的情况下,它不是通过删除 bin 和 obj 几次,但改变这个宿主模型固定的问题在我的结束。 请按照屏幕截图:

enter image description here

快乐编码:)

在看到肖恩 · 拉丁的正确答案后,我发现了自己的问题。

我在 web.config 中重写了一些规则,在调试时我忘了注释掉这些规则,然后在部署到‘ auto’重定向到 HTTPS 时取消注释。

(MVC Core 3.1 with web.config)

问题如下:

<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_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>