问题描述
我正在尝试使用 XSD 文件的 XSD.exe 工具从 XSD 文件生成一些 C# 类,这里称为 file.xsd
。我们过去曾多次使用该工具为 file.xsd
生成类,并且效果很好。
然而,在我们最近更新 file.xsd
之后,我们添加了一些新元素并重新配置了一些旧元素,XSD 工具突然没有生成某些类。这个失败的生成只适用于一些重组的旧元素和一些新元素。据我所知,每个未生成的类都引用了 complexType——尽管我不确定这是否是原因。
我们在 file.xsd
上的 Visual Studio 2017 开发人员命令提示符中运行此命令以生成我们的类:
xsd file.xsd /c
这里是一组元素的示例,这些元素的类没有正确生成(为了安全,删除了实际的命令名):
```
<xs:attributeGroup name="Commands">
<xs:attribute name="order" use="required" type="xs:int"/>
</xs:attributeGroup>
<xs:complexType name="foo-type" mixed="true">
<xs:attributeGroup ref="Commands"/>
</xs:complexType>
<xs:element name="foo" type="foo-type"/>
<xs:element name="foo-unauth">
<xs:complexType mixed="true">
<xs:attributeGroup ref="Commands"/>
</xs:complexType>
</xs:element>
<xs:element name="def-foo-cmd" type="foo-bar-type"/>
<xs:element name="foo-cmd" type="foo-bar-type"/>
<xs:complexType name="foo-bar-type" mixed="true"/>
```
从此块生成的唯一类是 foo-type
和 foo-unauth
。 def-foo-cmd
、foo-cmd
和 foo
不是生成的。
我们认为这是由于 XSD 工具优化了这些元素造成的,但我们不完全确定原因。
有人对可能导致此类类无法生成的原因有任何想法吗?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)