Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;服务“参考资料”;出现用于WCF引用的命名空间_C#_Wcf_Visual Studio 2013_Namespaces_Service Reference - Fatal编程技术网

C# &引用;服务“参考资料”;出现用于WCF引用的命名空间

C# &引用;服务“参考资料”;出现用于WCF引用的命名空间,c#,wcf,visual-studio-2013,namespaces,service-reference,C#,Wcf,Visual Studio 2013,Namespaces,Service Reference,我有一个项目,其中引用了我自己的WCF服务5-7,我遇到了一个非常恼人的问题 当我更新服务引用时,它们有时会创建额外的名称空间,但有时不会 例如,我在myMyMvcProject中添加了对mySomeWcfService的引用。 它将自动生成一个名称空间 MyMvcProject.SomeWcfService.SomeDataContract 工作一小时后,我需要更新它。我单击“更新引用”,VisualStudio将创建一个更新的代码…但在名称空间中 MyMvcProject.Service_

我有一个项目,其中引用了我自己的WCF服务5-7,我遇到了一个非常恼人的问题

当我更新服务引用时,它们有时会创建额外的名称空间,但有时不会

例如,我在my
MyMvcProject
中添加了对my
SomeWcfService
的引用。 它将自动生成一个名称空间

MyMvcProject.SomeWcfService.SomeDataContract
工作一小时后,我需要更新它。我单击“更新引用”,VisualStudio将创建一个更新的代码…但在名称空间中

MyMvcProject.Service_Reference.SomeWcfService.SomeDataContract
你可以想象这是多么烦人-所有使用语句的
都会中断,我会得到50多个编译错误,这些错误需要花费很多时间才能修复。我找到了一个解决方案——一次又一次地更新引用,直到它创建了一个必要的名称空间,但它不是一个解决方案


为什么会这样?应该有一个原因-它不能只是一个随机的。如何解决这个问题?

我不知道是什么原因导致了它,但解决方案是删除所有服务引用,直接通过运行时生成的代理调用服务,该代理从
ChannelFactory.CreateChannel()返回

我想不出有什么理由更喜欢使用系统生成的服务引用而不是这种方法,特别是当您说您拥有并控制所有服务时


服务引用背后的代码生成是复杂多变的,虽然最终是确定的,但肯定是不可预测的,并且会给您的客户端应用程序添加另一层可能出错的东西。

您是否介意给我发送一个简单的演示应用程序来重现这个问题?我的电子邮件地址是[lali AT microsoft.com](请将AT替换为“@”,并将DOT替换为“.”)。另外,你的Visual Studio是什么版本的?--兰哈罗,VS2010的问题和你的完全一样。有时在程序集的根目录下使用名称空间生成代理,有时在“Service_References”子名称空间中生成代理。很讨厌,就像你说的。还没有找到解决办法。你找到什么办法了吗?Thanks@AFract正如在回答中提到的,我停止使用服务引用,因为我将在很长一段时间内这样做。一个提示:尝试选择
服务引用
目录,打开属性窗口并检查其
名称空间提供程序
属性是否设置为false。这可能有帮助,但我不确定是否有帮助。另外,这个属性可能不是VS的一部分,而是Resharper的一部分。我以前从未注意过这个“名称空间提供程序”属性。我将其设置为false,它似乎生成了所需的代码,因此我将使用它,并查看问题是否再次发生。非常感谢。