You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Razor网站部署至IIS(Windows Server 2022)遇500.19错误求助

解决IIS部署.NET Razor网站时的HTTP Error 500.19 (0x8007000d)错误

我用.NET Razor搭建的网站部署到Windows Server 2022的IIS服务器后,一直报HTTP Error 500.19 - Internal Server Error错误,错误代码0x8007000d,提示web.config配置数据无效。已确认物理路径指向正确的.dll目录,尝试过修改应用程序池权限、给IIS_IUSRS授予完全权限、禁用默认站点等操作,问题仍未解决。

错误详情

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:
Module     IIS Web Core
Notification       Unknown
Handler    Not yet determined
Error Code     0x8007000d
Config Error       
Config File    \\?\C:\Users\Administrator\Desktop\XXXWEBSITENAMEXXX\web.config
Requested URL      http://192.168.0.85:80/
Physical Path      
Logon Method       Not yet determined
Logon User     Not yet determined

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="\.\WEBSITENAME.dll" stdoutLogEnabled="false" stdoutLogFile="\.\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
        <roleManager enabled="true" />
    </system.web>
</configuration>

服务器已安装的.NET运行环境

.NET SDKs installed:
  6.0.423 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 6.0.31 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 6.0.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 6.0.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

针对性解决方案

1. 修复web.config路径格式错误

web.config中<aspNetCore>节点的路径参数格式有误,导致IIS无法解析:

  • 将arguments="\.\WEBSITENAME.dll"修改为arguments=".\WEBSITENAME.dll"(移除开头多余的反斜杠)
  • 将stdoutLogFile="\.\logs\stdout"修改为stdoutLogFile=".\logs\stdout"
  • 建议开启stdoutLogEnabled="true",方便生成日志排查后续问题

修改后的节点示例:

<aspNetCore processPath="dotnet" arguments=".\WEBSITENAME.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

2. 确认AspNetCoreModuleV2模块已安装

错误代码0x8007000d常见原因是IIS缺少ASP.NET Core托管模块:

  • 打开服务器管理器 → 添加角色和功能,检查是否安装了ASP.NET Core 6.0 Runtime (IIS Hosting Bundle)
  • 若未安装,安装对应版本的托管捆绑包(需与.NET 6版本匹配)

3. 调整应用程序池设置

  • 应用程序池的**.NET CLR版本需设置为无托管代码**(ASP.NET Core无需IIS托管代码支持)
  • 确认应用程序池标识(如ApplicationPoolIdentity)对网站目录拥有读取、执行权限

4. 移除冗余配置节点

web.config中的<system.web>节点属于传统ASP.NET配置,ASP.NET Core Razor网站无需该节点,移除后可避免IIS解析冲突:

<!-- 移除以下冗余配置 -->
<system.web>
    <authorization>
        <allow users="*" />
    </authorization>
    <roleManager enabled="true" />
</system.web>

内容的提问来源于stack exchange,提问作者jfc9419

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:40:59