我使用 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 创建新架构:
- 打开您的自定义配置文件
- 在菜单栏 XML->Create Schema
- 保存
分配您的模式:
- 打开您的自定义配置文件
- 在属性面板中:单击浏览按钮 [..]
- 将“使用”列设置为您最近创建的架构
你可以分配任意数量的。或者为所有不同的自定义 .config 文件使用一个架构
(抱歉,我的英文不太好)
关于asp.net - web.config、configSource 和 "The ' xxx' 元素未声明“警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2833243/