我有一个带有元数据混合端点的WCF服务。服务运行时,我通过Visual Studio使用SvcUtil生成客户端数据合同代码(C#)。 SvcUtil为继承和引用的类型添加KnownType属性。我有一个自定义数据合同解析器,对于这些已知类型没有用。如何使SvcUtil或WSDL Importer不使用KnownType属性标记所有这些类型?我最糟糕的情况是在代码生成后遍历文件并删除这些属性,但是我希望有一种更干净的方法来执行此操作。

最佳答案

一种选择是add the known types to a configuration file。配置文件不必是您的app.config(或web.config)。它可以称为dummy.config

运行svcutil.exe时,添加以下参数/svcutilConfig:dummy.config。生成客户端代码时,您的KnownType属性应该消失。

这是registering known types using a configuration file.的另一个示例

10-04 23:07