0

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

我通过首先创建一个仅包含我的配置部分的 XML 来创建我的架构,然后让 VS2013 为我生成架构文件。将其命名CustomConfig.xsd并添加到我的项目中。我根据@stakx's answer in 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并查看属性窗口时,模式将我的模式文件显示为勾选。所以我只能假设它是从我的app.config. 然而没有智能感知。

更新

我刚刚意识到我的app.config.

4

1 回答 1

0

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

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

于 2015-09-24T04:54:51.183 回答