HTTP 错误 500.30 - ASP.NET Core 5 应用程序无法启动

Posted

技术标签:

【中文标题】HTTP 错误 500.30 - ASP.NET Core 5 应用程序无法启动【英文标题】:HTTP Error 500.30 - ASP.NET Core 5 app failed to start 【发布时间】:2021-07-16 13:06:54 【问题描述】:

我部署了一个具有以下设置的 .NET Core 5 应用:

网站显示错误:

HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动 常见解决方案 对于这个问题:

应用启动失败 应用启动后停止 应用已启动,但在启动过程中引发异常

故障排除步骤:

检查系统事件日志中的错误消息 启用记录应用程序进程的标准输出消息 将调试器附加到应用程序进程并检查

欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?LinkID=2028265

是什么导致了这个错误?

【问题讨论】:

尝试在 azure 上部署它,然后在门户上找到应用程序日志。 【参考方案1】:

错误背后可能有几个原因,您只能通过调试来识别。您可以尝试使用以下步骤调试此错误:

    使用 CMD 导航到应用程序的根目录 使用命令dotnet run (yourApplicationName).dll 运行应用程序

如果有任何错误,它们应该出现在输出中。

或者,您可以检查“事件查看器”(使用 Windows 搜索搜索事件查看器)并导航到

Windows 日志 应用

更新:

dotnet (yourApplicationName).dll

并检查 http://localhost:5000/ 是否有错误

【讨论】:

【参考方案2】:

检查配置文件中hostingModel的属性值是否为OutOfProcess。如果 hostingModel 属性的值为 InProcess,请尝试将其更改为 OutOfProcess 并重新启动项目。

【讨论】:

这是我的 .csjproj PropertyGroup net5.0ManToc.Api.xml1701 ;1702;159107acd440-eb4a-416e-b906-90c692d326b3 可以参考这个链接设置hostingModel属性的值:docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/… 您可能还需要删除应用服务中的 web.config 文件并重新发布站点,以便 web.config 实际更改。【参考方案3】:

我最近在将 .net core 5 应用程序部署到 IIS 时遇到了这个问题。我正在为我的各种环境使用环境变量,并且部署的 web.config 缺少 xml 标签。

改变这一行:

<aspNetCore processPath="dotnet" arguments=".\<your>.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"/>

到:

<aspNetCore processPath="dotnet" arguments=".\<your>.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
   <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Local" />
   </environmentVariables>
</aspNetCore>

这解决了我的 500.30 问题。

我接受了@Mohammed https://***.com/a/59390437/6155498的指导

【讨论】:

【参考方案4】:

打开Windows Event Viewer,找到错误信息并点击,打开Detail标签,你会看到异常。

【讨论】:

【参考方案5】:

这是一个非常模糊的错误消息,其背后可能有 100 多种不同的原因。检查您的服务器错误日志。

就我而言重新部署针对 64 位平台的应用程序解决了这个问题。

【讨论】:

【参考方案6】:

我在 Windows 10 中的本地 IIS 上运行应用程序时遇到此错误,然后我为 IIS_IUSRS 授予 App_Data 和 Logs 文件夹的完全控制权限,所以它可以工作。

【讨论】:

【参考方案7】:

今天遇到了这个问题(NET 5 应用,win-x64 目标运行时)。我设法通过禁用 IIS 应用程序池中的 32 位应用程序支持来修复它(见下面的屏幕截图):

一旦我从启用 32 位应用程序true 切换到 false,HTTP 错误 500.30 就消失了。 p>

有关更多信息,请参阅我博客上的this post。

【讨论】:

【参考方案8】:

我也遇到了这个错误。 不同的是我的程序的目标框架是.NET 6。

我犯的错误是没有将app.Run() 命令放在Program.cs 中。

【讨论】:

【参考方案9】:

去那里,尝试手动启动您的项目...即

【讨论】:

这帮助我找到了问题的根本原因。在我的情况下,我的连接字符串不正确,应用程序在应用程序启动时无法连接到数据库。【参考方案10】:

我找到了解决此问题的方法。如果您的项目位于已重命名或移动的文件夹中,则 意味着您需要更改该路线的文件夹和驱动器。如果您的项目位于驱动器 d:\ 中,请将其保留并在另一个驱动器中创建一个新文件夹,例如 e:\ 或 c:\ 并再次测试。

【讨论】:

在本站发帖时请使用正确的拼写和标点符号。 我已尽最大努力澄清此处的说明。不过,我不确定我是否理解了意图,因此请查看并确认。这是我的专业领域,但我并不完全清楚本指南与此问题的关系。【参考方案11】:

最后,我发现在 Azure 上,我不小心选择了 .NET Core 3.1,而我正在部署一个针对 ASP.NET Core 5.0 的应用程序。在 Azure 应用服务上将版本更改为 .NET 5.0 后,它可以工作了。

【讨论】:

【参考方案12】:

当 Startup.cs 文件出现问题时,可能会发生这种情况。 例如它可以放置接口而不是实现类

services.AddScoped<IService, IService>();

当需要指定实现类时:

services.AddScoped<IService, Service>();

【讨论】:

【参考方案13】:

当您尝试将已发布的软件包安装到 ISP 托管的共享 IIS 服务器或 ISP 托管的虚拟机时,也会出现此错误消息。

部署模式:依赖框架 目标运行时:Win-x64 或便携式

在我的情况下,当我尝试部署 ASP.NET Core 5 应用程序时,由于没有为用户组(基本上是根文件夹)设置 Web 应用程序文件夹的更改(读/写/删除)权限而发生。

【讨论】:

您是如何授予权限的?发布它自包含? @AsIndeed,是的,我允许他们使用该应用程序。关于下一个问题“独立发布?”答案在我的答案上面,请仔细阅读答案。它是“依赖于框架的”而不是“独立的”。实际上,我并没有尝试“自包含”部署模式。【参考方案14】:

我在使用 Azure 应用服务时遇到了错误

HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动

文档和应用服务日志没有让我得到任何帮助。

https://docs.microsoft.com/en-gb/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-6.0#50030-in-process-startup-failure

然后我登录数据库并检查Firewalls and virtual networks,发现Allow Azure services and resources to access this server 设置为No。将Allow Azure services and resources to access this server 切换为Yes 解决了错误。

【讨论】:

【参考方案15】:

尝试将部署模式更改为自包含

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案16】:

如果您的主机捆绑包是 5,而您的应用程序也是 5 要么 你的主机包是 6,你的应用也是 6

(用于检查主机版本: NetCoreVersion=@Environment.Version )

然后,在发布之前在您的发布设置中进行设置:

(部署方式:自包含& 目标运行时:Win-x64 或便携式) 此选项将 ~75MB~ 必要的文件添加到您已发布的项目中

【讨论】:

【参考方案17】:

另一个可能的原因:应用程序在启动时抛出异常,例如在静态初始化程序等中。在这种情况下,事件日志根本不会显示任何相关条目,但控制台输出会告诉您。

【讨论】:

以上是关于HTTP 错误 500.30 - ASP.NET Core 5 应用程序无法启动的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 3.1 - HTTP 错误 500.30 - ANCM 进程内启动失败

Asp.Net Core 5.0 Deploy by Plesk Panel 问题

.NET Core 2.2 - “HTTP 错误 500.30 - ANCM 进程内启动失败”

.NET Core 托管到 IIS,我收到 HTTP 错误 500.30 - ANCM 进程内启动失败

ASP.NET Core api 项目 3.1 在 IIS 上发布

ASP.Net 错误“无法启动程序 http://localhost:123/myapp/”