共享XSD - 如果2个XSD使用其他类型的XSD,如何使用自定义工具

时间:2011-11-09 14:15:14

标签: c# ide xsd

我正在使用3个XSD,我想在IDE中生成代码:

  1. XSD1是共享数据类型
  2. XSD2 + XSD3都使用XSD1(当然还有扩展......)
  3. 我想为这些生成类,并且由于共享XSD,我无法使用常见的自定义工具,因为它们会生成缺少类型或双重类型(歧义)的错误。

    有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:0)

如果在Visual Studio命令提示符下使用xsd.exe,则只需在同一请求中包含所有模式文件。然后xsd.exe将解析常见类型并确保没有重复。

xsd /c schema1.xsd schema2.xsd schema3.xsd

答案 1 :(得分:0)

我假设在Visual Studio中通过自定义工具,您可以参考通过属性工具窗口访问的功能;引用上下文帮助,它表示“在设计时转换文件并将该转换的输出放入另一个文件[...]”的工具。

您的问题也可能与this post有关。

我要解决你的问题,就是为你的XML Schema文件构建一种“垫片”;基本上,创建一个空的XML Schema文件,添加指向模式2和3的两个import语句(在您的情况下 - 顶级的),并让您的自定义工具(而不是您现在拥有的)引用该文件。这样,自定义工具不会给您任何问题,因为它会将您的文件视为一组。