我有两个ServiceContracts实现为接口。我想只导出其中一个元数据。诀窍是两个接口都由相同的类实现。因此,我认为我不能使用/ excludeTypes。请在回答时包含示例语法。谢谢!
编辑:一位同事最近问我为什么这是必要的。原因是第一个 ServiceContract用于REST服务,导出元数据没有意义。所以我生成了两个wsdl和xsd文件,只能因为第二个文件名附加“1”而区分。这使得工具变得困难,并且会使输出目录更加混乱。我已经添加了一笔赏金来试图引起对这个问题的兴趣。
答案 0 :(得分:2)
我创建了一个服务契约类,实现了你所描述的2个接口。
namespace NS
{
[ServiceContract]
public interface IREST
{
[OperationContract]
string WorldHello(string name);
}
[ServiceContract]
public interface IInterface
{
[OperationContract]
string HelloWorld(string name);
}
public class CI2 : IREST, IInterface
{
public string WorldHello(string name)
{
return "World Hello: " + name;
}
public string HelloWorld(string name)
{
return "Hello World: " + name;
}
}
}
当正常运行svcutil时,我得到一个带有来自2个接口的方法的wsdl 当我用/ excludeType:IREST运行svcutil时,我只得到IInterface方法。
svcutil /excludeType:NS.IREST ci2service.exe
你正在使用相同的配置吗?在这种情况下/excludeType
有效。