使用RIA WCF项目的Silverlight无法添加常规WCF服务引用

Eya*_*yal 3 silverlight wcf ria visual-studio-2012

我不知道这是一个错误/功能,但我需要找到一种方法使其工作.

要重新创建,请使用VS2012,打开一个启用了RIA服务的新SL5项目.创建另一个项目,添加一个简单的WCF服务(或启用SL的WCF)并添加一个接受或返回一个简单对象的方法(我有一个对象,其中包含一个字符串属性).尝试将其添加为SL项目的服务参考.您将在警告中收到此错误,其中包括:

自定义工具警告:未找到与Silverlight 5兼容的端点.除非通过构造函数提供端点信息,否则生成的客户端类将不可用.

并且实际上没有生成生成的代码.

我发现,如果我从服务方法中删除对象并使用简单的字符串/ int/bool,则添加引用就好了.此外,如果我将相同的服务添加到没有RIA的常规SL应用程序,一切都会像您期望的那样工作.一旦我在这个服务正在运行的应用程序上启用了RIA,并更新了服务引用,生成的代码就会再次消失.

我记得这曾经工作,因为我有使用RIA和外部WCF服务的项目.这是VS2012的新东西吗?有没有办法解决这个问题?

谢谢,

的Eyal

Ron*_*ain 7

我可以复制问题,只有当Silverlight客户端在其引用的程序集中具有2个System.ServiceModel.DomainServices.Client和System.ServiceModel.DomainServices.Client.Web程序集时,才会发生这种情况.并且只有它针对SL 5.

我发现如果您的情况允许,我建议您尝试2种解决方法:

1)将Silverlight应用程序更改为目标Silverlight 4,而不是5或2)右键单击服务引用并要求配置它.单击"在指定的引用程序集中重用类型"复选框,然后选择上述2 之外的所有程序集.

这似乎是与SL 5或VS2012相关的错误.如果我找到一个更令人满意的答案,我会重新发布.