C# can';无法访问添加的服务引用
我已经为我的mvc4 web项目添加了一个服务引用,并将其保留为默认名称空间“ServiceReference1”,但是当我想要使用该名称空间时,visual studio找不到它,就像它不存在一样,web服务已经启动并正常工作。我到底做错了什么?这是由名称空间C# can';无法访问添加的服务引用,c#,web-services,asp.net-mvc-4,service-reference,C#,Web Services,Asp.net Mvc 4,Service Reference,我已经为我的mvc4 web项目添加了一个服务引用,并将其保留为默认名称空间“ServiceReference1”,但是当我想要使用该名称空间时,visual studio找不到它,就像它不存在一样,web服务已经启动并正常工作。我到底做错了什么?这是由名称空间与类名称相同造成的 将命名空间更改为与类不同的名称,这将 编译查看visual studio为您的服务生成的代理类,看看名称空间和类名是什么我找到了解决方案,正如Hoakie在下面提到的说明中所述,该解决方案对我有效,我的referenc
与类名称相同造成的
将命名空间更改为与类不同的名称,这将
编译查看visual studio为您的服务生成的代理类,看看名称空间和类名是什么我找到了解决方案,正如Hoakie在下面提到的说明中所述,该解决方案对我有效,我的reference.cs现在已正确生成:
1) 右键单击服务引用
2) 选择配置服务引用
3) 取消选中“在引用的程序集中重用类型”
瞧 另一个经常被忽略的问题是,服务引用将项目的根命名空间附加到服务配置中提供的命名空间中
换句话说,如果服务的命名空间是ServiceReference1,则将创建的实际命名空间将是[RootNameSpace].ServiceReference1。RootNameSpace通常是项目的名称,因此在大多数情况下,您只需将您的[projectname.]附加到您的服务引用中即可修复它。如果项目名称为MyProject,则命名空间将为MyProject.ServiceReference1
在记事本中打开csproj(假设是C#project)文件并搜索“RootNamespace”以查找项目的根命名空间也相当简单。类名为“BaseJob”,命名空间为“SmsPanel”,服务引用命名空间为“ServiceReference1”“…我在web.config文件中找不到任何服务模型绑定,虽然我不确定mvc 4中的结构,但端点不应该添加到我的webconfig文件中吗???如果您通过visual studio添加了引用,它将通过它自己在web.config中添加必要的内容,但它没有在我的webconfig中添加任何内容,这就是问题所在。我到底可以在哪里访问此代理类?有一个ServiceReference您的解决方案中的文件夹和生成的文件都在其中如果您谈论的是我的解决方案中的服务引用文件夹,那么除了我的服务引用之外就没有其他内容了。@arashmoeen它是WEB服务还是WCF服务?它是WEB服务,我一直在我的其他项目中使用它,php和asp.net项目工作得很好,但在mvc中,这是我第一次使用它,但它不起作用。它对我也起作用。但是有没有人不知道,它的意义是什么,为什么起作用?嗯。。。为此损失了半个工作日,搜索了整个文件层次结构以查找问题,这就解决了问题!非常感谢你的朋友!令人惊叹的。。。由于它没有按预期工作,为什么各自的开发人员在默认情况下标记了它?!!!他们这样做只是为了让许多开发者浪费半天时间:(在VS 2015中为我工作。我很想知道这个解决方案的理由谢谢。它对我也有效,但和其他人一样,我不确定它有效的原因。