即使定义了模式,也没有获得VS2013自定义配置的智能感知
本文关键字:自定义 VS2013 配置 感知 智能 定义 模式 | 更新日期: 2023-09-27 18:14:11
我有自定义配置部分,我可以正确阅读。现在我想用Intellisense。
我通过首先创建一个只有我的配置部分的XML来创建我的模式,然后让VS2013为我生成模式文件。命名为CustomConfig.xsd
,并添加到我的项目。我根据@stakx在这个SO项目中的答案更新了模式,所以它看起来像这样:
<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
并查看属性窗口时,Schemas显示我的模式文件被选中。所以我只能假设它是从我的app.config
中拾取模式属性。但是没有智能感知
我刚刚意识到我没有得到智能感应在我的app.config
。
我在VS2015上打开了我的解决方案,它给了我自定义配置的智能感知。
然后我注意到在我的VS2013上,由于某种原因,默认不使用DotNetConfig.xsd
。这在VS2015上不是这样的。当我在VS2013上勾选它时,我的自定义配置的智能感知开始工作。