将 .net 核心项目发布到带有 0x80070005 的 iis 时出现 HTTP 错误 500.19
Posted
技术标签:
【中文标题】将 .net 核心项目发布到带有 0x80070005 的 iis 时出现 HTTP 错误 500.19【英文标题】:HTTP Error 500.19 when publish .net core project into iis with 0x80070005 【发布时间】:2016-11-25 12:45:14 【问题描述】:我想在我的电脑的 IIS 管理器上发布一个示例 .net 核心 Web 应用程序,但我失败了。我正在使用 Microsoft 指南,但它对我不起作用,如果您有解决此问题的合理经验,我将不胜感激看到您的建议。
【问题讨论】:
【参考方案1】:我错过了 IIS->Modules 中的 AspNetCoreModule。安装后,我不再有 500.19 错误。
要了解更多信息,这个博客很棒:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS
这里是微软的下载页面:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x
【讨论】:
在您的情况下,“配置错误”字段将是不同的消息。 感谢您的博客。确实帮助我了解了 .net 核心应用程序的托管方式。 这很完美,我遇到了完全相同的问题。 Windows 服务器上缺少 .Net Core 的 Windows Server Hosting 安装程序。 目前我安装并为我工作的最新版本是:dotnet-hosting-2.2.7-win.exe(转到最后一部分底部)https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2.7/2.2.7-download.md【参考方案2】:您必须安装“Hosting Bundle Installer”。没有这个,IIS 无法理解路由,也无法托管您的应用程序。
转到 microsoft 站点“https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1”并安装“Hosting Bundle Installer”:
在安装之前,您必须安装正确版本的运行时: https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1 比安装正确版本的“Hosting Bundle Installer”。
“主机捆绑安装程序”是: .NET Core Windows Server Hosting bundle 安装 .NET Core 运行时、.NET Core 库、 和 ASP.NET 核心模块。该模块在 IIS 和 Windows 平台上的 Kestrel 服务器之间创建反向代理。
【讨论】:
我不完全确定为什么这被否决了,Sadjad。您的解决方案几乎立即将我指向正确的位置。我已经下载并启动了 x64 安装程序,而不是使用 Hosting Bundle 安装程序。一旦我这样做了,一切都完美无缺。谢谢! 我很高兴读到这篇文章。它被否决的原因是因为我在其他地方为类似问题创建了相同的答案。我不喜欢它,我认为它不公平。谢谢你,成功了。 几年后,但仍然比实际选择的答案更好地帮助我!很棒【参考方案3】:您的 Web 应用程序在 IIS 中运行时所使用的标识没有对找到 web.config
文件的文件夹的完全访问权限。
您使用的是哪个版本的 IIS?假设 7,您可以通过托管您的应用程序的应用程序池的“高级设置”查看/更改身份。可以通过 Windows 资源管理器以通常的方式授予文件夹权限。
【讨论】:
亲爱的安迪,感谢您的即时回复!有效。谢谢大佬 很高兴能帮上忙。您能否接受答案,以便其他面临相同问题的人得到正确的解决方案? 当然,其实我忘记接受了,不好意思。再次感谢。【参考方案4】:当然,您必须按照本教程部署到 IIS:
https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
我建议你这样做:
将您的网络应用程序发布到桌面。
将文件夹复制到服务器。
打开 cmd 并运行 cd
在cmd中运行 dotnet webapplication.dll
您应该看到应用程序正在运行并等待 localhost:port 上的响应。
打开浏览器并导航到那里。它应该可以工作。
否则,您将能够在 cmd 窗口中看到所有错误。 要么 转到微软网站“https://www.microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1”并安装“Hosting Bundle Installer”:
【讨论】:
应用程序运行没有问题,没有错误,但是通过iss访问时,500.19 ...【参考方案5】:就我而言,我遇到了同样的错误。
这与权限无关。
我必须安装以下内容 1- Microsoft .NET Core 运行时 2-微软 ASP.NET Core 运行时 3- Microsoft ASP.NET Core 托管包
从以下位置。 (请选择相关版本) https://dotnet.microsoft.com/download/archives
然后我还必须执行以下命令。 净止损是/y 网络启动 w3svc
您可以重新启动机器。
这对我来说是固定的。
【讨论】:
在花了 2 个多小时了解文件/文件夹权限、web.config 文件内容、.Net 应用程序池、用户身份等之后,我决定停止“w3svc”服务,拆除 (阅读:卸载)所有与 .Net 相关的内容,安装最新的 ASP .Net Core Hosting Bundle,然后重新启动 IIS (net start w3svc
)。它奏效了!很奇怪,但谢谢。【参考方案6】:
尝试编辑/打开站点的任何配置。
如果在IIS管理器下无法访问站点的配置选项,请检查标签的注释,如果问题解决,取消注释并安装。
ASP.NET Core 托管包。
ASP.NET Core 3.1 Runtime (v3.1.3) - Windows Hosting Bundle Installer。
【讨论】:
这对我有用!谢谢!我还没有看到其他人提到访问任何配置都不起作用的事实,所以这是正确的!【参考方案7】:很好,在我的情况下,缺少一个名为“urlrewrite”的模块。
您使用“Microsoft Web Platform Installer”应用程序安装它。
【讨论】:
【参考方案8】:在命令提示符中写入 dotnet --info 以查看您的 SDK 版本。 (在 .NET SDKs installed 之后:)
找到与您相同的 Hosting Bundle 版本并安装它。
例如:SDK 3.1.408 需要 Hosting Bundle 3.1.14。
https://karthiktechblog.com/aspnetcore/how-to-solve-http-error-500-19-internal-server-error-in-windows-server-iis-for-dotnet-core-application
【讨论】:
【参考方案9】:我也遇到了这个问题,通过安装 Hosting Bundle Installer 解决了这个问题。 您可以从 url 安装: https://dotnet.microsoft.com/download/dotnet
【讨论】:
以上是关于将 .net 核心项目发布到带有 0x80070005 的 iis 时出现 HTTP 错误 500.19的主要内容,如果未能解决你的问题,请参考以下文章
如何将文件和 json 对象从邮递员传递到 asp.net 核心 webapi