You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ASP.NET Core 8.0 Web API部署至freeasphosting.net时出现HTTP Error 500.31问题求助

ASP.NET Core 8.0 Web API部署至freeasphosting.net时出现HTTP Error 500.31问题求助

我最近尝试部署一个用ASP.NET Core 8.0做的Web API,步骤是用VS新建了一个干净的ASP.NET Core Web API项目,发布后上传到freeasphosting.net,但遇到了这个错误:

HTTP Error 500.31 - Failed to load ASP.NET Core runtime
Common solutions to this issue: The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
Troubleshooting steps: Check the system event log for error messages Enable logging the application process' stdout messages Attach a debugger to the application process and inspect

跟着YouTube教程操作也没解决,想问问这问题出在哪?


兄弟,这个问题我之前部署ASP.NET Core项目到免费主机时也碰到过,核心原因就是服务器上没装你项目需要的ASP.NET Core 8.0运行时环境,或者你的发布配置不对。给你几个具体的解决步骤:

  • 检查主机支持的.NET版本:先去freeasphosting.net的主机控制面板或者帮助文档里看看,他们当前支持的.NET Core版本有哪些。毕竟ASP.NET Core 8.0是比较新的版本,免费主机可能还没更新到这个版本。如果他们确实不支持8.0,那你只能把项目降级到他们支持的版本(比如6.0或者7.0),重新发布部署。

  • 改用自包含发布模式:如果主机确实没有8.0的运行时,你可以在发布项目的时候选择「自包含」模式,这样发布包会把.NET Core运行时一起打包进去,不需要服务器提前安装。操作步骤是:在VS的发布设置里,找到「部署模式」,选择「自包含」,然后选择对应的目标运行时(比如win-x64,因为大多数Windows主机是x64架构),重新发布后上传整个发布文件夹到主机。

  • 检查web.config配置:发布后生成的web.config文件里,有没有指定正确的.NET版本?打开web.config,看看<aspNetCore>节点下的processPatharguments有没有问题,确保指向的是你项目的dll,而且没有指定错误的运行时版本。

  • 查看主机的错误日志:免费主机一般会提供错误日志的查看入口,你可以去控制面板里找一下,比如「日志」或者「错误记录」,里面会有更详细的错误信息,能帮你精准定位是运行时缺失还是其他配置问题。

另外,提醒一下,免费主机的配置通常比较有限,有时候就算你用自包含模式,也可能因为内存或者权限问题导致部署失败,如果上面的方法都试了还是不行,也可以考虑联系主机的客服问问,他们可能遇到过类似问题,能给你更针对性的建议。

备注:内容来源于stack exchange,提问作者stara chwesiuka

火山引擎 最新活动