Reference.cs中自动生成的Service Reference类未生成为Internal。

3
我正在将服务引用添加到我的项目中,并选择“internal”访问选项。在15个Web服务中,有3个很固执,大部分自动生成的Reference.cs内的类都是Public(即使我选择了“internal”)。
我已经检查了发生此问题的Web引用类,没有什么能够显著区分有问题的和正常工作的类之间的差异。
有人知道此问题的普遍原因吗?例如可能导致此问题的类的Xml属性等。
1个回答

4
问题正是如此。XmlSerializer不能序列化内部类型。Microsoft在“生成的类设置访问级别无效”章节中简要提到了这个限制,链接在这里
引用如下: 设置“配置服务引用”对话框中的“生成的类的访问级别”选项为“Internal”或“Friend”可能并不总是有效的。尽管该选项在对话框中似乎已被设置,但生成的支持类将以公共访问级别生成。这是某些类型的已知限制,例如使用XmlSerializer序列化的类型。
据我所知,在自动生成的服务引用方面,确实没有可接受的解决方法。但是,DataContractSerializer没有受到此限制,因此可以在其他情况下使用它。
你需要与 Microsoft 公司联系,假设还没有被拒绝为“无法修复”的请求解决方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接