我刚刚推出了一个自定义配置部分,为 Intellisense 创建了一个随附的架构文档,并根据Michael Stum对另一个类似问题的回答将其添加到 Web.config 的 Schemas 属性中。
不幸的是,并且可能由于我在知识有限的情况下手动创建 XSD,Intellisense 依赖于xmlns
指向我的 XSD 文件命名空间的属性,该属性存在于自定义配置元素中。但是,在运行项目时,我得到一个无法识别的属性“xmlns”。请注意,属性名称是区分大小写的错误。
我可能只是修改我的 XSD 文件来定义该xmlns
元素的属性,但是我想知道这是否只是对更大问题的临时修复。我必须承认我对 XML 名称空间没有很好的理解,所以这可能是一个让我明白一些事情的机会。
这是我的 XSD 文件的根xs:schema
元素的属性:
<xs:schema id="awesomeConfig"
targetNamespace="http://awesome.com/schemas"
xmlns="http://awesome.com/schemas"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
</xs:schema>
在 Web.config 文件中创建元素时,Visual Studio 2008 会自动附加:
<awesomeConfig xmlns="http://awesome.com/schemas"></awesomeConfig>
那么我是否完全误解了xs:schema
属性的含义,或者正确的解决方案是否像看起来那么简单?