【问题标题】:How to convert Windows application from .NET2.0 to .NET3.5如何将 Windows 应用程序从 .NET2.0 转换为 .NET3.5
【发布时间】:2010-12-08 17:54:50
【问题描述】:

在将 Windows 应用程序从 .NET2.0 转换为 .NET3.5 时遇到问题。 我这样做是这样的: 1. 在 Win XP 中我启动 VS2008 并打开我的解决方案项目,它由 4 个项目组成; 2. 在“应用程序”选项卡中的所有这 4 个项目属性窗口中,我选择目标框架值“.NET Framework 3.5” 3. 我重新构建了解决方案,但所有对 .NET 2.0 的旧引用仍然存在……它写道,从 2.0 转换为 3.5 后的所有引用必须自动引用到我计算机上的 3.5 dll。

我做错了什么?请提供一些建议。谢谢

【问题讨论】:

    标签: .net-3.5 .net-2.0


    【解决方案1】:

    您如何知道您引用的是 .net 2.0 而不是 .net 3.5?因为 .net 3.5 只是 .net 2.0 的扩展,基本上所有的 .net 3.5 也是 .net 2.0 程序集。 因此,如果您的代码在您的目标是 .net 3.5 时可以编译,那么您已经在 3.5 上

    如果您以 .net 3.5 为目标,则意味着将启用一些额外的程序集进行编译(例如与 LINQ 相关的程序集),如果您以 .net 2.0 为目标,则意味着这些程序集未启用。

    您的所有 .net 2.0 都可以轻松转换为 3.5。

    【讨论】:

    • 只有 System.Core 和 System.Web.Extensions 被引用为 .NET 3.5 引用。所以我想其他一切都很好,我的解决方案转换为 .NET 3.5 ...?
    • 是的,没关系;您所有的 .net 2.0 都可以轻松转换为 3.5。
    【解决方案2】:

    你可能已经好了。尽管 3.5 听起来像是 2.0 的升级,但实际上它更像是 2.0 的扩展。所有像 System、System.Data 等的 dll 仍然是 2.0 版。没有任何 3.5 版本的 System.Data。 3.5 项目的不同之处在于 System.Core、System.Xml.Linq 等新的 dll 都将是 3.5 版

    创建一个新的 3.5 项目,并将该项目的引用与升级后的项目进行比较,您就会明白我的意思了。

    【讨论】:

      【解决方案3】:

      只要您从未将项目的引用更改为引用系统程序集的“特定版本”,它们都会自动切换到 3.5 版本。

      不过,您需要添加对 3.5 中任何新内容的引用。我的猜测是您可能缺少对 System.Core 的引用,这将添加 LINQ 支持。

      【讨论】:

      • 对 System.Core 的引用是由 VS2008 转换向导自动添加到我的解决方案中的所有项目的。我不知道这是否是 SP1 中的新功能。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-29
      • 2011-02-01
      相关资源
      最近更新 更多