【问题标题】:How to upgrade from WCF RIA Service 1.0 to SP2 - Silverlight and Entity Framework如何从 WCF RIA 服务 1.0 升级到 SP2 - Silverlight 和实体框架
【发布时间】:2012-03-14 20:51:26
【问题描述】:

谁能提供将 VS2010 解决方案从 RIA Services 1.0 + Silverlight 4 升级到 RIA Services 1.0 SP2 + Silverlight 5 的分步指南?

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

  1. MyApp.Web - ASP.NET 服务器项目(此处为实体框架)
  2. MyApp - Silverlight 客户端项目(RIA 服务将其与 MyApp.Web “连接”)

这是我目前所拥有的:

  1. 卸载 WCF RIA Services Toolkit 和 WCF RIA Services V1.0 for VS2010
  2. 安装 VS2010 SP1
  3. 安装实体框架 4.1
  4. 安装 Silverlight 5 工具(包含 RIA Services 1.0 SP2)

这是我迷路的地方。接下来我该怎么做?特别是:

  1. 我需要从客户端和服务器项目中删除/添加哪些项目引用?
    1. 从 Entity Framework 4.0 到 4.1
    2. 从 RIA 服务 1.0 到 RIA 服务 1.0 SP2
    3. 从 Silverlight 4 转到 5
  2. 还有什么我遗漏的吗?
  3. 我需要在我的解决方案部署到的生产服务器(运行 Win XP)上做什么?
    1. 我记得安装了 .NET Framework 4.0 和 RIA 服务可分发(不久前)

提前致谢。

【问题讨论】:

  • 你试过打开你的项目吗?你有错误吗?
  • 构建和运行良好,但我猜我的项目仍然与 EF 4.0 和 Silverlight 4 相关联。
  • 您的机器上只能有一个 Ria 版本,所以如果安装了它,就会使用它。转到 Silverlight 项目的属性并将其更改为 Silverlight 5(如果更改后版本为 Silverlight 5,则应检查任何引用的程序集)保存它。最好在服务器上也安装 Ria Services V1.0 SP2。您还应该在服务器上安装 Silverlight 5 Developer Runtime。

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


【解决方案1】:

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

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

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

1.2 您的机器上只能有一个版本的 Ria。所以你的项目会自动使用上次安装的版本。

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

第 3 点:将 Silverlight 5 工具与 Entity FrameWork 4.1 一起安装在您的服务器上,这样即使您忘记为新的 Silverlight 程序集将 Copy Local 设置为 True 也没关系。 (这意味着如果您忘记了,您不必再次重新发布。)

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

祝你好运,如果遇到任何问题,请不要问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    相关资源
    最近更新 更多