asp.net - web.config、configSource 和 "The ' xxx' 元素未声明“警告

标签 asp.net xml visual-studio web-config

我使用 configSource 属性将极其笨拙的 web.config 文件分解为一些单独的文件(例如 connectionStrings、身份验证、页面等)。

这工作正常,但包含“片段”部分的各个 xml 文件会在 VS 中引起警告。

例如,名为 roleManager.config 的文件用于角色管理器部分,如下所示:

<roleManager enabled="false">
</rolemanager>

但是我在 VS 中的 roleManager 元素下看到一个蓝色波浪线,并且出现以下警告:The 'roleManager' element is not declared

我想这与有效的 xml 和模式等有关。有没有简单的方法来解决这个问题?我可以向各个文件添加什么吗?

谢谢

附言我听说像这样分解 web.config 文件是不好的做法。但真的不明白为什么 - 任何人都可以照亮我吗?

最佳答案

使用自定义配置文件搜索解决此问题的方法,我找到了这个解决方案。不知道是否正确。

问题是 VS 无法找到一个架构来验证您​​的 .config (xml)。如果您使用“ native ”配置元素或创建自定义 .config 文件,则必须为每个 xml 文档设置一个架构。

默认情况下(例如在 VS9 中)所有 xml 文件都使用\Microsoft Visual Studio 9.0\Xml\Schemas\DotNetConfig.xsd 但您可以添加更多模式来使用。

在分配模式之前,您必须先创建它。

根据您自己的 custom.config 创建新架构:

  1. 打开您的自定义配置文件
  2. 在菜单栏 XML->Create Schema
  3. 保存

分配您的模式:

  1. 打开您的自定义配置文件
  2. 在属性面板中:单击浏览按钮 [..]
  3. 将“使用”列设置为您最近创建的架构

你可以分配任意数量的。或者为所有不同的自定义 .config 文件使用一个架构

(抱歉,我的英文不太好)

关于asp.net - web.config、configSource 和 "The ' xxx' 元素未声明“警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833243/

相关文章:

c# - 在 Asp.NET 中使用 javascript

asp.net - 客户端浏览器的提交机制和 ASP.NET 回发机制有什么区别?

xml - 如何使用 XSLT 检索最接近但不在特定日期之后的元素?

java - 如何删除java或jsp中的XML元标记

c# - 将程序集反编译到项目中

c# - 有人更改 Visual Studio 默认的支撑样式吗? - 有标准吗?

Visual Studio 2010 中带有 64 位程序集的 ASP.net 页面

jquery - DoPostback刷新页面但没有捕获事件处理程序

xml - 使用 xslt2 将结构化文本转换为 XML

c# - ASP.NET MVC : code:-32000 message: No script for id: 32