我不知道这是否是一个错误/功能,但我需要找到一种方法让它工作。
要重新创建,请使用 VS2012,打开一个启用 RIA 服务的新 SL5 项目。创建另一个项目,添加一个简单的 WCF 服务(或启用 SL 的 WCF)并添加一个接受或返回一个简单对象的方法(我有一个带有一个字符串属性的对象)。尝试将此作为服务引用添加到您的 SL 项目。除其他外,您将在警告中收到此错误:
自定义工具警告:未找到与 Silverlight 5 兼容的端点。除非通过构造函数提供端点信息,否则生成的客户端类将不可用。
并且实际上没有生成任何生成的代码。
我发现如果我从服务方法中删除对象并改用简单的字符串/int/bool,则添加引用就好了。此外,如果我将相同的服务添加到没有 RIA 的常规 SL 应用程序中,一切都会像您期望的那样工作。一旦我在该服务正在运行的应用程序上启用 RIA,并更新服务引用,生成的代码就会再次消失。
我记得这曾经有效,因为我的项目同时使用了 RIA 和外部 WCF 服务。这是一个新的 VS2012 东西吗?有没有办法解决这个问题?
谢谢,
埃亚尔