3

我正在尝试使用 xsd.exe 和 Visual Studio RC1(版本 10.0.30128.1)从 XML 模式生成 C# 代码,但得到以下错误:

C:\Development>xsd CR2008Schema.xsd /classes Microsoft (R) Xml Schemas/DataTypes 支持实用程序 [Microsoft (R) .NET Framework,版本 4.0.30128.1] 版权所有 (C) Microsoft Corporation。版权所有

进程因 StackOverflowException 而终止。

xsd 是http://www.businessobjects.com/products/xml/CR2008Schema.xsd

任何帮助表示赞赏。

谢谢,

斯塔凡

4

2 回答 2

5

这可能是因为Group定义了一个集合Group

<!--    Group   -->
<xsd:complexType name="Group">
  <xsd:sequence>
    <xsd:element name="GroupHeader" type="HeaderFooter" minOccurs="0"/>
      <xsd:choice>
        <xsd:element name="Details" type="Details" minOccurs="0" maxOccurs="unbounded"/>
        <xsd:element name="Group" type="Group" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:choice>
    <xsd:element name="GroupFooter" type="HeaderFooter" minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="Level" type="xsd:integer" use="required"/>
</xsd:complexType>

xsd.exe正在进入一个无限循环...

于 2010-05-12T10:48:12.280 回答
3

除了 Oded 的回答之外,CrystalReport 类型中有一个类似但更复杂的循环。Details 类型的 Details 元素包含一个 SubReport 类型的 SubReport 元素,它继承自 CrystalReport,CrystalReport 包含一个 Details 类型的 Details 元素等。

于 2010-05-12T10:58:04.943 回答