svcutil.exe excludetypes问题

时间:2010-05-17 19:25:23

标签: c# soap wsdl svcutil.exe

我的服务使用另一个DLL中定义的类型Foo,我的客户端也使用该DLL来获取该类型。我不想为该类型生成代理类,而是希望代理代码只引用实际类型。我可以通过在正在运行的服务上使用WSDL.EXE生成代理,手动编辑其中的部分类Foo定义,以及添加Using语句来手动完成此操作。如果可能的话,我不想手工编辑。

似乎答案可能是使用SVCUTIL.EXE而不是WSDL.EXE。有两个有趣的选项:/ R和/ ET。我尝试将/ ET:Foo和/ET:My.FQN.Util.Foo和/ET:www.my.com.the.servicenamespace.Foo,并将DLL文件名添加到该选项。但是在创建的ServiceWithFoos.cs代理类中没有任何变化。 Foo的部分类定义仍在那里。

我是否在正确的轨道上?我做错了什么?

1 个答案:

答案 0 :(得分:0)

[DataContract(Namespace = "http://anything.here")]添加到您的Foo类型,然后使用带有/ r选项的svcutil获取包含Foo的库的路径。这样svcutil应该看到相同的合约命名空间并正确映射Foo。