Web.config中'Unrecognized element 'add''配置错误的解决求助
Web.config配置C#角色时'Unrecognized element 'add''错误解决方案
检查配置节点嵌套是否正确
<add>元素必须放在<roleManager>下的<providers>节点内,不能直接放在<roleManager>或其他节点下。正确的结构示例:<system.web> <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider"> <providers> <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" /> </providers> </roleManager> </system.web>同时要注意父节点拼写,别把
<providers>写成<provider>。匹配对应.NET版本的配置规则
- 如果你用的是.NET Core/.NET 5+,不要再用
<system.web>下的<roleManager>配置,角色和权限管理要在Program.cs/Startup.cs里通过代码配置。 - 若用.NET Framework,要是自定义了角色提供器,得先在
<configSections>里注册配置节,默认SqlRoleProvider不需要这一步,但可以参考示例确保配置节定义正确:<configSections> <section name="roleManager" type="System.Web.Configuration.RoleManagerSection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </configSections>
- 如果你用的是.NET Core/.NET 5+,不要再用
检查
<add>元素的必填属性<providers>里的<add>必须包含name和type属性,同时connectionStringName要对应<connectionStrings>里已存在的连接字符串名称,不能写错或遗漏。验证XML语法正确性
用XML校验工具检查Web.config有没有标签未闭合、属性引号不匹配这类语法错误,这类隐性问题也会导致配置解析失败。
内容的提问来源于stack exchange,提问作者Aditya mohite
相关产品推荐
相关产品推荐

