【问题标题】:Can higher version of .NET Framework be used for project targetting lower version?更高版本的 .NET Framework 能否用于针对低版本的项目?
【发布时间】:2013-10-25 21:02:01
【问题描述】:

如果Visual Studio 解决方案包含针对不同版本的.NET 框架的项目,是否可以仅使用更高版本的.NET 框架分发应用程序?

【问题讨论】:

  • 太模糊了。您可能需要 app.exe.config 文件中的 <supportedRuntime> 元素。例如,当目标小于 4.0 时,需要在 v4.x 上运行。当然,您需要对其进行测试,这样您才能足够快地发现这一点。

标签: .net visual-studio-2010 backwards-compatibility .net-framework-version


【解决方案1】:

如果 Visual Studio 解决方案包含针对不同版本 .NET Framework 的项目,是否可以仅使用更高版本的 .NET Framework 分发应用程序?

一般来说,是的。将(通常)使用应用程序的框架版本。

一个例外是,如果您使用 COM - 使用 COM,可以同时加载 2 个版本的公共语言运行时,这可能需要在目标系统上同时拥有这两个版本。

但是,如果它是纯 .NET/托管应用程序,则将使用可执行文件的 CLR 版本,它应该可以正常工作。

【讨论】:

    【解决方案2】:

    答案是,视情况而定。

    只要您的应用只使用新版本中没有“重大更改”的常用功能,那么一般来说这是可能的......

    .NET 框架的每个版本都将列出“重大更改”,其中列出了自上一个版本以来发生的破坏兼容性的更改。

    另一个潜在问题是某些版本的框架会进行“就地”升级。例如,如果您有一个针对 .net 4.0 的应用程序,并且您在同一个机器上安装了 .net 4.5,即使它已经安装了 4.0,它也会将某些框架组件升级到 4.5,例如 ASP.NET 和WPF。

    这意味着即使是针对 4.0 的应用程序也将在 4.5 框架程序集上运行。

    【讨论】:

    • 应该补充一点,过时的 API 可能会在某一天被删除(但到目前为止微软还没有这样做)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    相关资源
    最近更新 更多