【发布时间】:2020-08-24 07:13:32
【问题描述】:
我使用 .Net Core 创建了一个 webAPI,并尝试将其发布到 IIS。但是得到 HTTP 500.19。 它正在寻找 web.config 文件,但我没有。 我该怎么办?
【问题讨论】:
-
那你是怎么发布的呢?如果你按照官方指南,必须有一个web.config。
我使用 .Net Core 创建了一个 webAPI,并尝试将其发布到 IIS。但是得到 HTTP 500.19。 它正在寻找 web.config 文件,但我没有。 我该怎么办?
【问题讨论】:
如果是,请检查您对该文件夹的权限。您的 Web 应用程序在 IIS 中运行的身份可能没有对找到 web.config 文件的文件夹的完全访问权限。您可以在 appPool 下更改您的身份或授予对您文件夹的访问权限。如果您部署到 wwwroot 文件夹,则 IUser 应该有权访问该文件夹。
【讨论】:
当您在 IIS 中发布 .net 核心时,请记住安装 .net 核心网络托管捆绑包,因为默认情况下不支持它。 IIS 根据不同的处理程序处理请求。即使您安装了扩展,aspnet 核心模块也没有注册。所以请记得设置
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" requireAccess="Script" />
</handlers>
<aspNetCore processPath=".\myapp.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
如果解决方案无法解决此问题。然后您的 web.config 中的某些内容正在破坏应用程序。请张贴截图详细的错误信息。然后我们就会知道如何彻底解决这个问题。
【讨论】: