即使定义了架构,也无法获得自定义配置的 VS2013 Intellisense

Not getting VS2013 Intellisense for custom config even with schema defined

我有我可以正确阅读的自定义配置部分。现在我想要它的 Intellisense。

我创建了我的架构,方法是首先创建一个仅包含我的配置部分的 XML,然后让 VS2013 为我生成架构文件。将其命名为 CustomConfig.xsd 并添加到我的项目中。我根据@stakx 在 this SO item 中的回答更新了架构,所以它看起来像这样:

<xs:schema id="customConfigSchema"
           targetNamespace="http://tempuri.org/customConfig.xsd"
           elementFormDefault="qualified"
           xmlns="http://tempuri.org/customConfig.xsd"
           xmlns:mstns="http://tempuri.org/customConfig.xsd"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="customConfig">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="someElement">
          <xs:complexType>
            ...
          </xs:complexType>
        </xs:element>
        ...
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

然后在我的 app.config 中,我将架构详细信息添加到 <customConfig>,如下所示:

<configuration>
  <configSections>
    ...
    <section name="customConfig" type="..." />
  </configSections>
  ...
  <customConfig xmlns="http://tempuri.org/customConfig.xsd" 
                xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
                xsi:noNamespaceSchemaLocation="customConfig.xsd">
    <someElement ... />
  </customConfig>
</configuration>

保存了所有内容,然后我尝试通过编辑 <someElement> 来测试它,但是没有智能感知。我错过了什么?

我可以看到,当我打开 app.config 并查看 属性 Window 时,架构显示我的架构文件已勾选。所以我只能假设它正在从我的 app.config 中获取模式属性。但是没有智能感知。

更新

我刚刚意识到我的 app.config 上根本没有智能感知。

我在 VS2015 上打开了我的解决方案,它为我的自定义配置提供了 Intellisense。

然后我注意到在我的 VS2013 上,出于某种原因,默认情况下不使用 DotNetConfig.xsd。 VS2015 不是这种情况。当我在 VS2013 上勾选它以便使用它时,我的自定义配置的 Intellisense 开始工作。