.net-3.5 - 可以将多个 XSD 文件合二为一的工具?

标签 .net-3.5 xsd xml-serialization xsd.exe

我需要为大约 65 个 XSD 文件创建 XML 序列化程序类,为此我使用 Microsoft 的 XSD.EXE生成 C# 代码...

但是,我一直在结果输出文件中遇到 Window CMD 的字符限制(其中 XSD.EXE 结合了包含的每个 XSD 的名称):“指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,并且目录名称必须少于 248 个字符。”

长话短说,似乎我可以让所有这些一起验证和生成的唯一方法是我是否可以合并所有 XSD(取消引用包含/导入,XSD.EXE 无法解析 schemaLocation无论如何)变成一个大的。

请告诉我有一个工具可以做到这一点......

最佳答案

您可以做的是创建另一个名为 file.xsd 的新文件,其中包含所有架构名称,然后诀窍是使用 .\作为前缀命名最后一个架构文件。

文件.xsd

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
    <generateClasses language='CS' namespace='MyNamespace'>
        <schema>First.xsd</schema>
        <schema>Second.xsd</schema>
        <!-- more schema files here -->
        <schema>.\Third.xsd</schema>
    </generateClasses>
</xsd>

现在运行命令“xsd.exe/p:file.xsd/classes”,你会得到生成的类文件:)

关于.net-3.5 - 可以将多个 XSD 文件合二为一的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859319/

相关文章:

c# - 如何使用 C# 在 ASP.NET 中显示带有图标的消息框

java - JAX-WS - 如何创建类型为 xs :any from server side code? 的元素

c# - 序列化为 XML 文件会创建无效的 XML 文档 (11,12)

asp.net - 为什么 MSBuild 将 *.XmlSerializers.dll 程序集放在已发布的 Web 应用程序的根文件夹中?

c# - 从 C# NET 3.5 中的 byte[] 保存文件

.net - 为什么仅安装.NET 4时为.NET 3.5编译的应用程序不起作用?

c# - WCF 3.5 和 UDP

java - 为包含多个带有预先存在的对象的导入模式的模式仅生成唯一的 JAXB 对象

.net - 从 XSD 生成类

c# - InvalidOperationException 错误反射(reflect)类