[英]Upgrade from VS2010 vb.net project to VS 2013 Upd 4 project on dotnet 4 causing issues with Service references
我有一个在Visual Studio 2010中构建的WCF服务库,目标是DotNet 4.0。
此WCF服务使用服务引用引用外部服务,以使Windows服务在需要时执行某些操作。 所有引用都是通过Visual Studio 2010 IDE创建的。
服务引用定义为MyService.Interface,这就是所有内容在代码中引用它的方式。
这一切都很好,没有问题。
刚刚将visual studio 2013 Update 4的副本安装到虚拟机上并导入了项目的副本。
现在,我在代码生成的reference.vb文件中对此Windows服务的所有服务引用都被声明为global.MyService.Interface,而不仅仅是MyService.Interface。
我现在有数百个错误声明类型global.MyService.Interface未定义。
如果我删除了WCF项目的根命名空间,则会删除此错误,但解决方案会因删除命名空间而导致数百个其他错误。
我想知道的是VS2013添加了什么来使所有服务引用具有全局性。 在生成的代码(reference.vb)中添加到它们的前面,并且有一种方法使它像以前一样工作,因此代码生成不包括全局。 在每个参考开始?
我已经尝试在reference.svcmap中为服务引用设置名称空间,但这没有任何区别。
我还没有尝试过svcutil,因为我不想走这条路,手动生成已经工作多年的东西只因为VS2013现在做了不同的事情而且会有其他开发人员管理这个并且我不想要由于Visual Studio中的版本更改,必须使用不同的方法来更新服务引用。
我做了一些搜索,发现很多人不得不添加全局。 他们的引用,但在这种情况下反过来 - 它是自动添加的,我想从生成的代码中删除它,但无法找到在哪里做。 我希望有一个我可以取消选中的复选框,它会神奇地回到它的工作方式。
非常感谢任何帮助。
<System.Diagnostics.DebuggerStepThroughAttribute(), _ System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _ Partial Public Class ExternalInterfaceServiceClient Inherits System.ServiceModel.ClientBase(Of BOHInterface.IExternalInterfaceService) Implements BOHInterface.IExternalInterfaceService
在VS 2013 Update 4中为同一项目生成的代码.Blobal关键字已添加到BOHInterface.IExternalinterface的每个引用的开头。
<System.Diagnostics.DebuggerStepThroughAttribute(), _ System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")> _ Partial Public Class ExternalInterfaceServiceClient Inherits System.ServiceModel.ClientBase(Of Global.BOHInterface.IExternalInterfaceService) Implements Global.BOHInterface.IExternalInterfaceService
第二个会破坏所有内容及其在reference.vb中生成的代码。
有什么方法可以在VS2013 Update 4中获取代码以生成与VS2013 Update 3中相同的代码?
顺便说一下 - 我正在使用VS2013 Update 3,直到它被排序:)
问候
竿。
直到10041版本的Windows 10,我遇到了同样的问题。尝试将Windows 10升级到10041版本。 我也在使用Visual Studio 2013 Update 5的CTP 3。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.