.NET Core WebAPI IIS部署

问题描述

我已经使用.Net Core创建了一个webAPI,并尝试将其发布到IIS。但是获得HTTP 500.19。 它正在寻找web.config文件,但我没有。 我该怎么办?

解决方法

您是否安装了此软件:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?tabs=aspnetcore2x&view=aspnetcore-3.1

如果是,请检查您对该文件夹的权限。您的Web应用程序在IIS中运行所使用的身份可能无法完全访问在其中找到web.config文件的文件夹。您可以在appPool下更改身份,或授予对文件夹的访问权限。如果您部署到wwwroot文件夹,则IUser应该可以访问该文件夹。

,

当您在IIS中发布.net core时,请记住安装.net core虚拟主机捆绑包,因为默认情况下不支持。 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中的某些文件损坏了应用程序。请发布屏幕截图,详细的错误消息。然后我们将知道如何彻底解决此问题。