【发布时间】:2014-05-22 16:56:03
【问题描述】:
我已经为我的 mvc4 web 项目添加了一个服务引用,并将其保留为默认命名空间“ServiceReference1”,但是当我想使用该命名空间时,Visual Studio 找不到它,就像它不存在一样,网络服务已启动并且工作正常。我到底做错了什么?
【问题讨论】:
标签: c# web-services asp.net-mvc-4 service-reference
我已经为我的 mvc4 web 项目添加了一个服务引用,并将其保留为默认命名空间“ServiceReference1”,但是当我想使用该命名空间时,Visual Studio 找不到它,就像它不存在一样,网络服务已启动并且工作正常。我到底做错了什么?
【问题讨论】:
标签: c# web-services asp.net-mvc-4 service-reference
我找到了解决方案 HERE,正如 Hoakie 在下面的说明中提到的那样对我有用,并且我的 reference.cs 现在已正确生成:
1) 右键单击服务参考
2) 选择配置服务参考
3) 取消选中“在引用的程序集中重用类型”
瞧!
【讨论】:
这是由于 same namespace 名称与 类 名称。
将您的命名空间更改为与您的类不同的名称,这将 编译
【讨论】:
查看 Visual Studio 为您的服务生成的代理类,看看命名空间和类名是什么
【讨论】:
另一个经常被忽视的问题是服务引用将项目的根命名空间附加到您在服务配置中提供的命名空间。
换句话说,如果您的服务的命名空间是 ServiceReference1,那么将创建的实际命名空间将是 [RootNameSpace].ServiceReference1。 RootNameSpace 通常是您的项目的名称,因此在大多数情况下,您只需将服务引用附加到您的 [projectname.] 即可修复它。如果您的项目名称为 MyProject,则命名空间将为 MyProject.ServiceReference1
在记事本中打开csproj(假设是C#项目)文件并搜索“RootNamespace”以找到项目的根命名空间也相当简单。
【讨论】: