【问题标题】:Is there a way to get xsd.exe to generate classes with "internal" scope?有没有办法让 xsd.exe 生成具有“内部”范围的类?
【发布时间】:2009-09-17 05:47:14
【问题描述】:

我有一个 DLL,其中包含一些 XSD 生成的类。不幸的是,XSD.exe 将这些类公开,这会导致 “Missing XML comment for public visible type or member XYZ” 警告。另外,我宁愿不从我的 DLL 中公开这些类。除了手动编辑生成的 .cs 之外,有没有办法让这些类内部

【问题讨论】:

    标签: .net xml-serialization


    【解决方案1】:

    这是一个非常简短的答案,可以扩展成一本书。

    不,xsd.exe 不能为所欲为。

    但是,您可以使用this article 中描述的技术来访问XmlCodeExporter 类,该类是从 XML 模式生成代码的框架的一部分。完成此操作后,您将拥有一份 CodeDOM 的副本,用于在内存中生成代码。您可以遍历命名空间中的所有类并将它们设置为内部。

    可能是消除这一警告所需的努力超出了您的预期。

    消除警告的另一种方法是在关闭 XML 文档的程序集中生成代码(毕竟谁需要生成代码的文档?)

    【讨论】:

    • 是的,我们也看过。我们最终编写了一个 awk 脚本,我们调用它作为构建过程的一部分,以根据我们的需要来扩充生成的代码。
    • 谢谢。我想我会在“麻烦多于其价值”下提交此文件。
    猜你喜欢
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2022-06-15
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多