将WCF RIA Services类库添加到Silverlight 5应用程序

时间:2012-11-15 17:54:05

标签: wcf wcf-ria-services silverlight-5.0

尝试在VS 2010中将 WCF RIA服务类库添加到我的SL5应用程序,但是一旦我在类库属性中设置 WCF RIA服务链接,项目就无法构建有许多“无法找到类型或命名空间名称'QueryResult','EntitySet',EntityQuery'错误......

我正在关注MSDN演练Walkthrough: Creating a RIA Services Class Library尝试将我的WPF应用程序的子集移植到SL5,因此我首先创建了一个带有RIA复选框的SL5应用程序uncheked,它创建了两个项目:

  • MySLApp(Silverlight 5)
  • MySLApp.Web(.NET 4)

有了这个,我添加了 WCF RIA Services类库,这又创建了两个项目:

  • MySLAppWCF(Silverlight 5)
  • MySLAppWCF.Web(.NET 4)

在MySLAppWCF.Web中,我创建了 ADO .NET实体数据模型,并使用数据模型中的实体添加了域服务类。此时所有这些新项目都很好,所以我在 MySLApp 项目中添加了对 MySLAppWCF 的引用,并在我的 MySLAppWCF.Web 中添加了对 MySLAppWCF.Web 的引用 MySLApp.Web ,但最后一步是将 MySLAppWCF 中的 WCF RIA服务链接设置为 MySLAppWCF。 Web ,但是一旦我这样做,就会出现大量“无法找到类型或名称空间”的错误。我检查了库中的引用,并在那里引用了System.ServiceModel

有关如何使所有这些工作的任何想法?

编辑:我一直在挖掘并找到一些关于添加对位于RIA SDK中的System.ServiceModel.DomainServices.Client库的引用的内容,所以我这样做并且它处理了原始错误,但现在我得到了{{1}在我的 MySLAppWCF 项目中找不到WebDomainClient,即使在DomainServiceFault添加了对System.ServiceModel.DomainServices.Client的引用之后,这两个似乎也在该命名空间中...

1 个答案:

答案 0 :(得分:1)

WebDomainClientDomainServiceFault都定义在System.ServiceModel.DomainServices.Client.Web中(通常位于C:\ Program Files(x86)\ Microsoft SDKs \ RIA Services \ v1.0 \图书馆\ Silverlight的\ System.ServiceModel.DomainServices.Client.Web.dll)
您还需要添加对此程序集的引用。

让我断言你的设计可能会带来一些问题,有两个不同的站点(一个托管SL应用程序,一个托管域名服务)这是不寻常的,可能会带来交叉请求问题,如果它不是'我需要建议您将MySLAppWCF.Web转换为普通DLL并从主机引用它。

另外,请注意MySLAppWCF.Web的web.config,VS已修改它以使用所需的DomainServiceModule。