我有一个WCF服务,用于正常工作。无论何时我添加新的服务合同或数据合同,我都可以在我的客户端项目中右键单击服务引用并选择更新服务引用,并且它会更新正常。WCF更新服务参考不再为数据合同生成类型
在今天之前,我上次更新服务参考的时间是5个月前,并且当时它的更新正常。今天,我向服务项目添加了一些新的服务合同,并更新了客户项目中的服务参考。发生了什么事情是服务生成的很好,但类型(来自数据合同)没有。我的新服务参考根本没有任何类型。我所拥有的仅仅是服务本身以及调用服务合同的功能。
这里是我的服务引用看着,当它正常工作,如:
下面是它看起来像现在:
想,我必须有在过去5个月中意外地破坏了服务中的某些内容,我又回到了源代码管理,并在当天检查了旧版服务项目我上次成功更新了客户端中的服务参考。我重建了服务项目,然后更新了我的服务参考,但没有解决它。我还没有类型。
如果我回头查看客户端项目中旧版本的服务引用本身,然后重新获取类型。但是,这并不能帮助我,因为我需要添加新的服务合同并使其生成新的更新的工作服务合同。
我搜索了其他人有同样的问题,我发现有人说他们通过在服务配置中取消选中“在引用程序集中重用类型”来修复它。我尝试过,但不仅没有带回我的类型,而且还删除了服务本身。
什么可能导致它?
请记住,我已经回到服务项目的旧版本,并且没有解决它,所以它不应该与我有什么关系我的服务合同或数据合同定义。它必须位于我的解决方案或Visual Studio配置中的其他位置。
最近发生的只有一件重大事情可能使我们对此有所了解。我最近开始与另一位开发人员合作,并且通过源代码控制共享解决方案。我正在使用Visual Studio 2012 Pro,并且他正在使用Visual Studio 2013 Ultimate。他的版本的Visual Studio能否为我的版本中导致此问题的解决方案做了些什么?如果是这样,什么?
更新:
我创建了一个新的Windows在溶液中窗体项目和复制的服务项目,以它为好。我在主项目中向服务添加了服务引用,并且它正常工作。这与以前一样在开发机器上。所以,我想问题是:我的原始项目有什么问题,我该如何解决?
我会建议您首先检查在您刚创建的数据合同中是否正确定义了KnownTypeAttribute标记? – 2014-09-24 03:16:23
是的,所有的数据合同都有KnownTypeAttribute。 – JoeMjr2 2014-09-24 03:20:54
尝试在新鲜机器中添加您的服务参考。我的意思是任何其他机器与Visual Studio以前的配置相同。如果错误仍然存在,那么它可能是你的源代码的问题,否则它是完全环境相关的问题 – 2014-09-24 04:17:20