svcutil.exe 生成 2 个部分 类

svcutil.exe generating 2 partial classes

我正在编写 .NET 4.0 应用程序并且可以控制 WCF 服务和客户端。 我正在使用 svcutil 为我的服务生成代理 classes,结合多项服务。

svcutil /o:.\ServiceProxies\NavigatorServiceWCFProxy.cs /ct:System.Collections.Generic.List`1 /namespace:*,FIS.Navigator.Common.NavigatorService /noconfig http://localhost/NavigatorService/NavigatorService.svc?wsdl

它生成了两个 class 看起来像:

[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute(System.Runtime.Serialization, 4.0.0.0)]
[System.Runtime.Serialization.DataContractAttribute(Name=RequestBase, Namespace=http://schemas.datacontract.org/Navigator/Base)]
public partial class RequestBase : object, System.Runtime.Serialization.IExtensibleDataObject
{

}
[System.CodeDom.Compiler.GeneratedCodeAttribute(svcutil, 4.0.30319.1)]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute(code)]
[System.Xml.Serialization.XmlTypeAttribute(Namespace=http://schemas.datacontract.org/Navigator/Base)]
public partial class RequestBase
{
}

如果我们添加一个服务引用,在 reference.cs 中只生成一个部分 class 为什么要创建两个 类? 我如何使用 svcutil 仅生成一个与 reference.cs 相同的部分 class?

当我将 /importXmlTypes 参数传递给 svcutil.exe 时,上述问题已被解决。

对于故障处理,使用选项 /useSerializerForFaults 以避免重复