svcutil 有时不生成使用 /xmlserializer 包装另一种类型的数组的复杂类型

发布于 2024-10-17 15:27:18 字数 513 浏览 2 评论 0原文

我在基本类型 XSD 中有一个声明的元素“RecordRefSet”;它是“RecordRef”元素的容器元素。 “RecordRefSet”元素在一组 WSDL 中的不同位置被引用。

当我的第一个项目从这些 WSDL 和 XSD 生成代码时,生成的代码包括一个名为“RecordRefSet”的类,该类在各个地方使用。

但是,当我的第二个项目从这些 WSDL 和 XSD 的子集生成代码时,生成的代码不包含名为“RecordRefSet”的类,而是在第一个项目使用“RecordRefSet”实例的位置直接使用“RecordRef”数组班级。

我想知道是什么决定了 SVCUTIL 何时决定生成“RecordRefSet”类以及何时决定直接使用“RecordRef”数组。

我已经检查过,在这两种情况下,它都运行完全相同版本的 SVCUTIL,具有相同的命令行选项(生成服务合同、XMLSerializer)。唯一的区别是,第一个项目包含我的所有 WSDL 和 XSD 文件,生成的代码总量更大,第二个项目使用 WSDL 和 XSD 文件的子集。

I have a declared element "RecordRefSet" in the basetypes XSD; it is a container element for "RecordRef" elements. The "RecordRefSet" element is referenced in various places in a set of WSDL.

When my first project generates code from those WSDL and XSD, the generated code includes a class called "RecordRefSet", which is used in various places.

But when my second project generates code from a subset of those WSDL and XSD, the generated code does not include a class called "RecordRefSet" and instead directly uses arrays of "RecordRef" in the places where the first project uses instances of "RecordRefSet" class.

I want to know what determines when SVCUTIL decides to generate the "RecordRefSet" class and when it decides to use arrays of "RecordRef" directly.

I have checked that it is running the exact same version of SVCUTIL, with the same command-line options (generate service contracts, XMLSerializer), in both cases. The only difference is that the first project includes all my WSDL and XSD files, generating a larger total amount of code, the second project use a subset of WSDL and XSD files.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦与时光遇 2024-10-24 15:27:18

我不知道 SvcUtil 的确切细节,但如果您将 [KnownType(typeof(YourType)] 属性添加到您的类中,这将告诉代理生成器该服务使用什么类型,并据此生成 RecordRefSet 类你每次

I don't know the exact details of SvcUtil but if you add the [KnownType(typeof(YourType)] attribute to your class this will tell the proxy generator what types is the service using and according to that it should generate the RecordRefSet class for you everytime

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文