尝试确定托管应用程序的 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) 中的重定向规则而出现的。尝试禁用重定向规则并检查它是否有效。
【讨论】:
我不得不同时删除httpRedirect
和 rewrite
部分【参考方案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 时发生错误。发生一个或多个错误的主要内容,如果未能解决你的问题,请参考以下文章