将.NET核心部署到IIS时出现问题。我遵循以下步骤:
错误是:
此问题的HTTP Error 500.30 - ANCM进程内启动失败公共解决方案:应用程序启动应用程序失败,但随后停止启动,但在启动故障排除步骤中抛出异常:检查系统事件日志中的错误消息,启用记录应用程序进程的stdout消息,将调试器附加到应用程序进程,并检查以获得更多信息(请访问:https://go.microsoft.com/fwlink/?LinkID=2028265 )
我有一种感觉,这可能与我的launchSettings.json文件有关,不确定它应该如何调整.
当我从Visual启动我的站点时,它曾经直接打开到一个swagger链接,但是现在在发布到IIS之后,我不能再从Visual启动它(无法连接到webserver IISExpress).有什么帮助吗?
这是一个带有启动的.NET核心3.1控制台应用程序,在我试图发布到IIS之前,它打开了我的API的狂欢节。
后来的编辑:https://learn.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1 --这提出了两个可能的原因:密钥库的权限不足(不是预问题,我是用蓝色的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"改为:hostingModel="outofprocess"
我的Project > Properties > Debug如下所示:

(正如您所看到的,我从过程中转变为进程外)
IIS中的绑定如下所示:

更新:所有这些之后,我的错误更改为:
此问题的HTTP Error 502.5 - ANCM进程外启动失败公共解决方案:应用程序进程未能启动应用程序进程,但随后停止了应用程序进程启动,但未能侦听配置好的端口
(最初是500.30)
不太确定还能尝试什么。如何检查端口配置是否良好?
发布于 2020-06-21 13:12:53
试着跟随这篇文章。
如果不起作用,请确保您的应用程序池已在IIS中为您的web应用程序启用。还请尝试重新启动IIS。
发布于 2020-06-22 13:13:16
通过Kestrel方式进行调试
请尝试将您的应用程序发布到特定文件夹。Dotnet发布核心Cli命令。下面的命令发布到“输出”文件夹
dotnet publish -o output通过publish命令移动到cd文件夹后。dotnet <project-name>.dll型使用您的项目名称而不是<project-name>
您的应用程序应该正在运行,并且应该运行得很好。如果您面临任何问题,这是由于应用程序错误。
部署到IIS
在此之后,将应用程序托管到生产或暂存阶段,然后在这里安装IIS (非快递)和.NET核心托管bundle.click以下载托管包。
在此之后,您可以跟踪这个指南
https://stackoverflow.com/questions/62496465
复制相似问题