将 .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

带有反应打字稿的 SPA Cors .net 核心

使用 EF 框架的 .NET 核心 MVC - 将数据从一个控制器传递到另一个控制器

CORS 错误,无法从 asp.net 核心后端接收数据

.Net 核心服务在发布到 IIS 后不可用

在网上下载了一个ASP源代码;结果浏览时;“配置错误 由于权限不足而无法读取配置文件” 错误代码0x800700