C# IIS无法读取web.config,消息中没有错误详细信息

C# IIS无法读取web.config,消息中没有错误详细信息,c#,iis,.net-core,asp.net-core-webapi,C#,Iis,.net Core,Asp.net Core Webapi,我们有一个dotnet core 3.1 web API应用程序,该应用程序发布到托管在Windows 2012 R2数据中心VM上的IIS 10 应用程序正在没有托管代码的应用程序池下运行: IIS无法读取web.config文件。这是我在IIS中单击此应用的连接字符串时得到的结果: web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer&g

我们有一个dotnet core 3.1 web API应用程序,该应用程序发布到托管在Windows 2012 R2数据中心VM上的IIS 10

应用程序正在没有托管代码的应用程序池下运行:

IIS无法读取web.config文件。这是我在IIS中单击此应用的连接字符串时得到的结果:

web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authorization>
                <remove users="" roles="mydomain\mydevrole" verbs="" />
                <add accessType="Allow" users="?" roles="" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

您是否检查了文件权限?特别是IIS_IUSR$组是否具有读取网站所在文件夹的权限?
还要检查windows事件日志以查看是否有更多信息。

仅安装ASP.NET核心运行时是不够的。你必须安装这个软件


如果忘记安装某些IIS OOB组件,则为常见错误。在Windows 10上检查,此安装不正确。安装完成后,它出现在“开始”菜单上,但单击它会显示“选择要打开的应用程序…”安装Jexus Manager是可选的。您应该关注web.config文件,看看是否忘记了其中使用的OOB。大多数设置都在appsettings.json中。web.config中唯一的内容是授权部分。我知道该虚拟机上存在授权功能,并且可以正常工作,因为依赖该功能的其他框架应用程序工作正常。请尝试从中创建一个空的web.config文件,并尝试重命名该文件,然后查看IIS是否创建了一个(已经有一段时间了,不记得它是否创建了),也不确定这是否相关,因为我自己还没有使用过dot Core。引用:“ASP.NET Core不再使用以前版本的ASP.NET使用的Global.asax和web.config文件。”“在ASP.NET Core中也替换了web.config文件”重命名web.config帮助。没有自动创建新的web.config。IIS现在正在打开此应用的功能/属性。但这样做会使应用程序毫无用处。API路由不工作。只有静态HTML/CSS文件在工作。基本上,IIS只是充当web服务器。