.net - 命名空间的自定义配置节问题的智能感知

标签 .net intellisense configurationsection

我刚刚推出了一个自定义配置部分,为 Intellisense 创建了一个随附的架构文档,并将其添加到 Web.config 的 Schemas 属性中,按照Michael Stum's answer另一个类似的问题。

不幸的是,可能由于我以有限的知识手动创建 XSD,Intellisense 依赖于指向自定义配置元素中存在的 XSD 文件 namespace 的 xmlns 属性。但是,在运行项目时,我得到一个无法识别的属性“xmlns”。请注意,属性名称区分大小写错误。

我可能只需修改我的 XSD 文件来定义该元素的 xmlns 属性,但是我想知道这是否只是针对更大问题的创可贴修复。我必须承认我对 XML namespace 没有很好的理解,因此这可能是一个让我了解一些事情的机会。

这是我的 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 属性的含义,或者正确的解决方案是否像看起来那么简单?

最佳答案

您的架构需要省略 targetNamespace 属性。实际上,这会将架构内容放入默认命名空间中。

这是必要的,因为 .NET 配置系统从来不允许元素位于命名空间中。

关于.net - 命名空间的自定义配置节问题的智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986439/

相关文章:

node.js - node.js、express 和 EJS 的 WebStorm 代码补全

javascript - 如何在类库项目中启用Jscript智能感知(VS2010)

c# - 如何定义配置节

c# - 在 app.config 中获取 ConfigurationElement parent

c# - 获取节过滤到 xml 属性

c# - 将数据表转换为泛型类型列表

c# - 对于多个变量的循环性能 - C#

intellisense - 在 VS Code 中,如何根据给定目录中的文件获取 JSON 智能感知?

asp.net - 链接到 Microsoft 编码标准/最佳实践文档?

java - 有哪些好的编译时缺陷分析 IDE 插件?