可以';t访问添加的服务引用

本文关键字:添加 服务 引用 访问 可以 | 更新日期: 2023-09-27 17:57:31

我已经为我的mvc4 web项目添加了一个服务引用,并将其保留为默认命名空间"ServiceReference1",但当我想使用该命名空间时,visual studio找不到它,就像它不存在一样,web服务已经启动并运行良好。我到底做错了什么?

可以';t访问添加的服务引用

我在这里找到了解决方案,正如Hoakie提到的,下面的说明对我有效,我的reference.cs现在正确生成了:

1) 右键单击服务参考

2) 选择配置服务参考

3) 取消选中"重用引用程序集中的类型"

和沃伊拉!

这是由于具有与名称相同的namespace名称引起的。

将命名空间更改为与类名称不同的名称,这将编译

查看visualstudio为您的服务生成的代理类,并查看名称空间和类名

另一个经常被忽视的问题是,服务引用将项目的根命名空间附加到服务配置中提供的命名空间中。

换句话说,如果服务的命名空间是ServiceReference1,那么将创建的实际命名空间将是[RootNameSpace].ServiceReference1。RootNameSpace通常是你项目的名称,所以在大多数情况下,你只需在服务引用后面加上你的[projectname]就可以修复它。如果你项目的名字是MyProject,那么命名空间将是MyProject.ServiceReference1

在记事本中打开csproj(假设为C#项目)文件并搜索"RootNamespace"以找到项目的根命名空间也相当简单。