将.NET Core部署到IIS的问题。 我按照以下步骤操作:
- 使用.NET Core 3.1和Visual Studio创建网站
- 在IIS中创建的网站(指向空的物理路径C:\ inetpub \ mywebsite并地址mywebsite.core.com)
- 将我的网站从Visual Studio发布到同一文件夹C:\ inetpub \ mywebsite
- 要从浏览器浏览的主机条目,例如去驱动程序\ etc \主机并添加行 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启动站点时,它曾经直接打开一个摇摇欲坠的链接,但是现在发布到IIS之后,我无法再从Visual Studio启动它(无法连接到Web服务器IISExpress)... 有什么帮助吗?
这是一个带有启动程序的.NET Core 3.1控制台应用程序,在尝试发布到IIS之前,我的API引起了很大的反响。
以后编辑: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot-azure-iis?view=aspnetcore-3.1提示了两个可能的原因:缺少对关键文件库的权限(不是先例,我使用Azure cli登录到Azure);另一个是:“该应用程序配置错误,因为它针对的是不存在的ASP.NET Core共享框架版本。请检查目标计算机上安装了哪些版本的ASP.NET Core共享框架。” < / p>
后来编辑: 来自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"
我的项目>属性>调试如下:
(如您所见,我从“处理中”更改为“处理中”)
更新:所有这些之后,我的错误更改为:
HTTP错误502.5-ANCM进程外启动失败常见 解决此问题的方法:应用程序进程无法启动 应用程序进程已启动,但随后已停止应用程序进程 开始但无法在配置的端口上侦听
(最初是500.30)
不太确定还有什么尝试。如何检查端口配置是否正确?
答案 0 :(得分:0)
如果它不起作用-确保在IIS中为您的Web应用程序启用了应用程序池。也尝试重新启动IIS。
答案 1 :(得分:0)
请尝试将您的应用程序发布到特定的文件夹。用于发布的Dotnet Core Cli命令。下面的命令发布到“输出”文件夹
dotnet publish -o output
通过publish
命令移至cd
文件夹后。输入dotnet <project-name>.dll
。使用您的项目名称代替<project-name>
您的应用程序应该正在运行,并且应该可以正常运行。如果您遇到任何问题,那是由于应用程序错误
之后,将您的应用程序托管到生产或暂存中,安装IIS(非快速)并 .NET核心托管包。[单击此处下载托管包]
之后,您可以按照此guide