有没有办法让xsd.exe生成具有“内部”范围的类?

时间:2009-09-16 21:18:01

标签: .net xml-serialization

我有一个包含一些XSD生成的类的DLL。不幸的是,XSD.exe将这些类公开,导致“公开可见类型或成员XYZ缺少XML注释”警告。另外,我宁愿不从我的DLL中暴露这些类。有没有办法,没有手动编辑生成的.cs,使这些类内部

1 个答案:

答案 0 :(得分:5)

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

不,xsd.exe不能做你想做的事。

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

删除此警告所需的工作量可能超出您的预期。

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