我可以强制svcutil.exe为WCF服务生成数据协定吗?

And*_*are 6 c# wcf datacontractserializer svcutil.exe

我想强制svcutil在WCF使用的程序集中生成所有数据协定,无论某个类型是否由给定的操作契约引用.

[DataContract]
public class Foo { }

[DataContract]
public class Bar : Foo { }

[ServiceContract]
public interface IService
{
    [OperationContract]
    void Get(Foo foo);
}
Run Code Online (Sandbox Code Playgroud)

鉴于此设置,我无法svcutil生成版本,Bar因为目前没有操作合同引用它.有没有办法强制svcutil生成数据合同Bar

fos*_*son 16

将KnownType属性添加到Foo类

[KnownType(typeof(Bar))]
[DataContract]
public class Foo { }
Run Code Online (Sandbox Code Playgroud)