我有3个装配: FooInterfaces(类库) FooService(WCF服务) FooTests(测试申请)
在FooInterfaces中我有:
[ServiceContract]
public interface IFoo
{
[OperationContract]
void Bar();
}
在FooService.svc中我有:
public class FooService : IFoo
{
void Bar() { ... }
}
现在在我的测试工具中,我希望在向FooService添加服务引用之后以这种方式实例化:
IFoo foo = new FooService();
问题是,有两个IFoo接口! FooInterfaces.IFoo
和FooTests.FooServiceReference.IFoo
。除非我指定,否则编译器会在两者之间混淆,并且两个IFoo类型不可转换。
在FooTests中有对FooInterfaces的引用。
我有其他实现IFoo的类,所以我真的需要一个IFoo接口。
有什么想法吗?
答案 0 :(得分:1)
在FooInterfaces命名空间中有两个接口,在FooTests.FooServiceReference namepsace中有一个接口。当您创建对服务的引用并且是代理的一部分时,后者是为您创建的。要明确要使用的IFoo,请使用完整的命名空间名称。 “FooInterfaces.IFoo”。