7

我正在尝试使用 svcutil.exe 从一组 .wsdl 文件中仅生成服务合同(接口)。当我这样做时(来自 http 托管的 wsdl),它会选择包含的模式并为它们生成所有代码。

伟大的。

然而,我真正想做的是使用一组已经使用 xsd.exe 工具从模式文件生成的类(这样做的原因并不重要,只要说我需要在一个程序集,而服务合同在另一个程序集中)。我成功地生成了一个包含所有类型的程序集。

当我尝试让 svcutil.exe 使用该程序集中的类型时,就会出现问题。我的命令行看起来像这样:

svcutil /target:code /noconfig /reference:my_types.dll http://path/to/wsdl

这工作正常,但生成的代码包含 my_types.dll 文件中所有类型的重复项。我从 svcutil.exe 的文档中了解到,这正是 /reference: 参数要克服的问题。但是,就我而言,它不起作用。

为什么?

4

2 回答 2

5

显然它只适用于 DataContract 类型而不适用于 XmlSerializer 类型。

关联

于 2010-10-22T16:15:18.007 回答
1

我有这个问题。我用 /r 引用的二进制文件中的某些东西仍在生成的代码中再次构建。从服务函数之一返回的对象之一是返回数据表或其他类似的可怕事物。我在 System.Data 的整个路径中添加了 /r 并修复了它。

/r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\System.Data.dll"

于 2015-07-02T20:07:37.357 回答