【发布时间】:2009-09-17 05:47:14
【问题描述】:
我有一个 DLL,其中包含一些 XSD 生成的类。不幸的是,XSD.exe 将这些类公开,这会导致 “Missing XML comment for public visible type or member XYZ” 警告。另外,我宁愿不从我的 DLL 中公开这些类。除了手动编辑生成的 .cs 之外,有没有办法让这些类内部?
【问题讨论】:
我有一个 DLL,其中包含一些 XSD 生成的类。不幸的是,XSD.exe 将这些类公开,这会导致 “Missing XML comment for public visible type or member XYZ” 警告。另外,我宁愿不从我的 DLL 中公开这些类。除了手动编辑生成的 .cs 之外,有没有办法让这些类内部?
【问题讨论】:
这是一个非常简短的答案,可以扩展成一本书。
不,xsd.exe 不能为所欲为。
但是,您可以使用this article 中描述的技术来访问XmlCodeExporter 类,该类是从 XML 模式生成代码的框架的一部分。完成此操作后,您将拥有一份 CodeDOM 的副本,用于在内存中生成代码。您可以遍历命名空间中的所有类并将它们设置为内部。
可能是消除这一警告所需的努力超出了您的预期。
消除警告的另一种方法是在关闭 XML 文档的程序集中生成代码(毕竟谁需要生成代码的文档?)
【讨论】: