繁体   English   中英

WCF更新服务参考不再为数据协定生成类型

[英]WCF Update Service Reference no longer generating types for data contracts

我有一个可以正常工作的WCF服务。 每当我添加新的服务合同或数据合同时,我只需在客户项目中右键单击服务引用,然后选择“更新服务引用”,即可进行更新。

在今天之前,我上一次更新服务参考的时间是5个月前,当时还可以。 今天,我在服务项目中添加了几个新的服务合同,并在客户端项目中更新了服务引用。 发生的事情是该服务生成得很好,但是类型(来自数据协定)却没有。 我的新服务参考中没有任何类型。 我所拥有的只是服务本身以及调用服务合同的功能。

这是我的服务参考正常运行时的样子: 这是我的服务参考正常运行时的样子:

这是现在的样子:

这是现在的样子:

考虑到在过去的5个月中我一定会意外破坏了服务中的某些内容,因此我回到源代码管理并在上次成功更新客户端中的服务引用的那一天签出了服务项目的旧版本。 我重建了服务项目,然后更新了我的服务参考,但是它没有解决它。 我仍然没有类型。

如果我返回并在客户端项目中检出服务引用本身的旧版本,则可以得到类型。 但是,这对我没有帮助,因为我需要添加新的服务合同并让它生成新的更新的工作服务合同。

我搜索了其他有相同问题的人,然后发现有人发帖称他们通过在服务配置中取消选中“在引用程序集中重新使用类型”来解决了该问题。 我尝试过,但不仅没有恢复我的类型,而且还删除了服务本身。

是什么原因造成的?

请记住,我已经从服务项目运行之初就回到了旧版本,但这并没有解决它,因此它不应该与我的服务合同或服务合同有任何关系。数据合同定义。 它必须位于我的解决方案或Visual Studio配置中的其他位置。

最近发生的一件大事可能会阐明这一点。 我最近开始与另一位开发人员合作,我们正在通过源代码控制共享解决方案。 我正在使用Visual Studio 2012 Pro,而他正在使用Visual Studio 2013 Ultimate。 他的Visual Studio版本是否可以对导致我的版本中出现此问题的解决方案有所帮助? 如果是这样,该怎么办?

更新:

我在解决方案中创建了一个新的Windows Forms项目,并将服务项目也复制到了该项目中。 我在主项目中向该服务添加了一个服务引用,它可以正常工作。 它与以前在同一台开发计算机上。 所以,我想的问题是:我的原始项目可能出什么问题了,我该如何解决?

好的,我终于能够解决它。 我要做的就是清洁溶液。 右键单击“解决方案资源管理器”中最顶层的解决方案节点,然后选择“清理解决方案”。 之后,我对服务项目进行了“全部重建”。 最后,我对客户端应用程序中的服务引用进行了“更新服务引用”,然后使用我的所有类型对其进行了正确更新。 仍然不确定发生了什么,但是至少这可以清除所有的妖怪弄乱了事情。

我遇到了类似的问题。

假设您的服务从名称空间My.Services定义了SomeDto类。 如果这还引用您的服务代码引用SomeDto从类My.Services ,莫名其妙的Visual Studio不包括从服务引用,例如类型SomeDto在命名空间My.Code.ServiceReference

解决方案是删除对My.Services的代码引用,然后更新服务引用,最后将引用重新添加到My.Services

希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM