在Visual Studio中通过“ CustomDictionary.xsd”验证“ CustomDictionary.xml”时出现架构错误

时间:2019-05-08 15:24:00

标签: visual-studio validation xsd visual-studio-2017 intellisense

现在,我按照建议here并入对CustomDictionary.xml的引用来编辑CustomDictionary.xsd时,正在Visual Studio中获得IntelliSense验证。但是,我在我没有想到的Microsoft默认CustomDictionary.xml中收到验证错误。例如,对于此条目:

<Term PreferredAlternate="EnterpriseServices">complus</Term>

...我看到了错误:

  

该元素不能包含文本。内容模型为空。

(请注意,我在单词complus下看到一条蓝色的波浪线。)这表明CustomDictionary.xsd模式文件存在问题。请注意,我从Visual Studio 2017安装中的以下位置获取了架构文件的副本:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Team Tools\
    Static Analysis Tools\Schemas\CustomDictionary.xsd

默认的CustomDictionary.xml可以在这里找到:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Team Tools\
    Static Analysis Tools\FxCop\CustomDictionary.xml

建议的解决方法::要在Visual Studio中对CustomDictionary.xml进行正确的验证,似乎需要对CustomDictionary.xsd进行更改。有人可以确认吗?


其他注释:我发现值得注意的是,自Visual Studio 2013以来,这些文件从未更改过。这是它们的位置:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\
    Static Analysis Tools\Schemas\CustomDictionary.xsd

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\
    Static Analysis Tools\FxCop\CustomDictionary.xml

1 个答案:

答案 0 :(得分:0)

我研究了问题,并对CustomDictionary.xsd进行了更改,以解决我所看到的IntelliSense验证错误。这些更改如下:

之前:

<xs:attribute name="PreferredAlternate" type="xs:string" use="required" />

<xs:attribute name="CompoundAlternate" type="xs:string" use="required" />

之后:

<xs:simpleContent>
  <xs:extension base="xs:string">
    <xs:attribute name="PreferredAlternate" type="xs:string" use="required" />
  </xs:extension>
</xs:simpleContent>

<xs:simpleContent>
  <xs:extension base="xs:string">
    <xs:attribute name="CompoundAlternate" type="xs:string" use="required" />
  </xs:extension>
</xs:simpleContent>