![](/img/trans.png)
[英]IIS and NET Core HTTP Error 500.30 - ANCM In-Process Start Failure .net core 3.1
[英].NET Core hosting to IIS, I get HTTP Error 500.30 - ANCM In-Process Start Failure
将 .NET 核心部署到 IIS 时出现问题。 我按照以下步骤操作:
- 使用 .NET Core 3.1 和 Visual Studio 创建了一个网站
- 在 IIS 中创建了网站(指向一个空的物理路径 C:\inetpub\mywebsite 和地址 mywebsite.core.com)
- 将我的网站从 Visual Studio 发布到同一文件夹 C:\inetpub\mywebsite
- 从浏览器浏览的主机条目,例如转到 drivers\etc\hosts 并添加行 127.0.0.1 mywebsite.core.com
- 从这里安装的包:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.5-windows-hosting-bundle-installer
错误是:
HTTP 错误 500.30 - ANCM 进程启动失败 此问题的常见解决方案: 应用程序无法启动 应用程序启动但随后停止 应用程序启动但在启动期间引发异常 故障排除步骤: 检查系统事件日志中的错误消息 启用记录应用程序进程的标准输出消息 将调试器附加到应用程序进程并检查有关详细信息,请访问: https://go.microsoft.com/fwlink/?LinkID=2028265
我感觉这可能与我的 launchSettings.json 文件有关,不知道应该如何调整它...
当我从 Visual Studio 启动我的网站时,它曾经直接打开到 swagger 链接,但现在在发布到 IIS 后,我无法再从 Visual Studio 启动它(无法连接到网络服务器 IISExpress)...有什么帮助吗?
这是一个 .NET Core 3.1 控制台应用程序,在我尝试发布到 IIS 之前,它使用我的 API 打开了 swagger。
稍后编辑: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1这表明两个可能的原因:缺乏对密钥保管库的权限(不是问题,我使用 azure cli 登录 Azure; 另一个是:“由于针对不存在的 ASP.NET 核心共享框架版本,应用程序配置错误。检查目标计算机上安装了哪些版本的 ASP.NET 核心共享框架。”
稍后编辑: C:\inetpub\mywebsite 中的 web.config 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\XXX.MyWebsite.Api.RestApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="outofprocess" />
</system.webServer>
</location>
</configuration>
我实际上将hostingModel="inprocess"
inprocess" 更改为: hostingModel="outofprocess"
我的项目 > 属性 > 调试看起来像这样:
(如您所见,我从 In Process 更改为 Out of Process)
更新:在这一切之后,我的错误变为:
HTTP 错误 502.5 - ANCM 进程外启动失败 此问题的常见解决方案: 应用程序进程无法启动 应用程序进程启动但随后停止 应用程序进程启动但未能侦听配置的端口
(最初是 500.30)
不太确定还能尝试什么。 如何检查端口是否配置正确?
如果它不起作用 - 请确保在 IIS 中为您的 web 应用程序启用了您的应用程序池。 也尝试重新启动 IIS。
请尝试将您的应用程序发布到特定文件夹。 用于发布的 Dotnet Core Cli 命令。 下面的命令发布到“输出”文件夹
dotnet publish -o output
通过cd
命令移动到publish
文件夹后。 键入dotnet <project-name>.dll
。 使用您的项目名称而不是<project-name>
您的应用程序应该正在运行,并且应该可以正常运行。 如果您遇到任何问题,那是由于应用程序错误
之后将您的应用程序托管到生产或登台,安装 IIS(非特快)和 .NET 核心托管包。[单击此处下载托管包]
之后,您可以按照本指南
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.