如何从WCF RIA Service 1.0升级到SP2 - Silverlight和Entity Framework

时间:2012-03-14 20:51:26

标签: silverlight entity-framework entity-framework-4 wcf-ria-services

任何人都可以提供将VS2010解决方案从RIA Services 1.0 + Silverlight 4升级到RIA Services 1.0 SP2 + Silverlight 5的分步指南吗?

我的解决方案以正常方式设置:

  1. MyApp.Web - ASP.NET Server项目(此处为实体框架)
  2. MyApp - Silverlight客户端项目(RIA Services“将此连接”与MyApp.Web连接)
  3. 这是我到目前为止所做的:

    1. 卸载适用于VS2010的WCF RIA Services Toolkit和WCF RIA Services V1.0
    2. 安装VS2010 SP1
    3. 安装Entity Framework 4.1
    4. 安装Silverlight 5工具(包含RIA Services 1.0 SP2)
    5. 这是我迷路的地方。接下来我该怎么办?特别是:

      1. 我需要从客户端和服务器项目中删除/添加哪些项目引用?
        1. 从Entity Framework 4.0转到4.1
        2. 从RIA Services 1.0转到RIA Services 1.0 SP2
        3. 从Silverlight 4到5
      2. 我还缺少什么?
      3. 在我的解决方案部署到的生产服务器(运行Win XP)上需要做什么?
        1. 我记得安装.NET Framework 4.0和RIA Services可分发(一段时间后)
      4. 先谢谢。

1 个答案:

答案 0 :(得分:1)

1.1当我启动一个新项目并添加一个ADO.NET实体数据模型时,它会自动添加以下程序集:

System.Data.Entity
System.Runtime.Serialization
System.Security

所以我会从项目中删除它们并再次添加它们以确保使用最高版本。

1.2您的计算机上只能有一个版本的Ria。因此,您的项目会自动使用上次安装的版本。

1.3转到Silverlight项目的“属性”页面,然后打开“Silverlight”选项卡。在目标Silverlight版本下将版本更改为Silverlight 5:重要说明:如果您有一个大型项目,则需要很长时间才能完成。给自己做点咖啡等。在更改UI时,UI可能会无响应,但请勿触摸它。即使你失去了耐心。如果你中止了,那么.csproject文件中可能会出现一些错误。

第一点3:在服务器上同时安装Silverlight 5 Tools以及Entity FrameWork 4.1这样,如果您忘记将Copy Local设置为True以获取新的Silverlight程序集,则无关紧要。 (这意味着如果你忘了,你不必再重新发布。)

第2点:通过检查/执行以下操作,确保您的项目适用于新安装的版本: - 删除两个项目中的bin和obj文件夹 - 删除Silverlight项目中隐藏的GenerateCode文件夹 - 确保您自己引用的程序集也以Silverlight 5为目标 - 在重新构建完成所有这些之后,我会做一些看似奇怪但已经证明可以解决愚蠢错误的事情:在Silverlight项目的属性页面中,通过将WCF Ria Services link设置为<No Project Set>来禁用{{1}}构建项目(导致很多错误,我知道)切换回链接并重建。请记住,Ria支持自SP1以来的复杂对象序列化,他们希望从第一个版本开始,但无法及时完成。如果您将组件包含在silverlight客户端中,包括服务器端也存在的对象类型,这会让您头疼。

祝你好运,如果你遇到麻烦而不仅仅是问。