首页 > 解决方案 > WCF 服务客户端生成名称空间问题

问题描述

我在生成 WCF 客户端时遇到问题。主要项目称为TestX。在那个项目中,我想包含一个名为 MgmtService 的 WCF 服务。我可以将该服务包含在另一个项目中就好了。

我添加了连接的服务引用并(故意)将其命名为 ServiceReference1(我也尝试了其他任意名称以排除命名空间冲突 - 没有变化)。

当我尝试编译时,我会立即收到错误消息

The type name 'ServiceReference1' does not exist in the type 'TestX'

真正让我感动的是,我可以添加一个额外的项目(一个简单的 DLL),然后在其中添加引用,它会编译得很好,并且像一个魅力一样工作。

我该如何调试这个问题?看起来有一个潜在的问题,而不是客户端本身的创建。

标签: wcf

解决方案


好吧,当然这是一个命名空间冲突,尽管在一些与预期完全不同的地方。

我使用了命名空间 TestX,因为这是一个 Windows 服务类型应用程序,它还包含一个名为 TestX 的类。在我添加 WCF 客户端之前,这本身不是问题。

添加 WCF 客户端创建类型 TestX.ServiceReference1 但编译器现在不知道是使用命名空间 TestX 还是类 TestX。

重命名以前存在的类解决了这个问题。


推荐阅读