【问题标题】:does .Net 4.5 include .Net 4.0.Net 4.5 是否包含 .Net 4.0
【发布时间】:2013-02-13 08:46:00
【问题描述】:

我正在使用 Winforms 开发 C# 桌面应用程序。我使用 Visual Studio 的单击一次安装工具创建了安装策略。幸运的是,它为客户端提供了检测、下载和设置相关的必备组件。

我的问题是我开始使用 .NET 4.0 开发此应用程序,然后将其升级到 .NET 4.5,现在在先决条件列表中检查了 4.5 和 4。我想知道如果我取消选中 .NET 4.0 组件会好吗?

.NET 4.5 是否包含 .NET 4.0?

【问题讨论】:

    标签: .net deployment frameworks clickonce


    【解决方案1】:

    安装 .NET 4.5 后,它有效地替换了机器上的 .NET 4.0。 .NET 4.0 被新版本的 .NET 4.5 覆盖——根据微软的说法——它应该是 100% 向后兼容的。

    阅读这些非常好的文章:

    .NET 4.5 is an in-place replacement for .NET 4.0

    .NET Versioning and Multi-Targeting - .NET 4.5 is an in-place upgrade to .NET 4.0

    【讨论】:

      【解决方案2】:

      您可以为 .NET 4.5 编译应用程序并在 4.0 运行时运行它——直到您遇到 4.0 中不存在的新功能。此时应用程序会在运行时爆炸。假设您编写的代码主要是 .NET 4.0,但只有 .NET 4.5 的一些新功能 - .NET 将愉快地启动您的应用程序并正常运行所有 4.0 代码,直到它遇到 4.5 代码——然后在运行时毫不客气地崩溃。

      所以,没有 .NET 4.5 不包含 .NET 4.0。

      【讨论】:

      • 是的,你说的很复杂 :) 我没完全明白。
      • 您的回答似乎认为 4.0 不包括 4.5。没有帮助。
      【解决方案3】:

      如果你以 4.5 为目标,我认为不需要 4.0

      Installing the .NET Framework 4.5

      .NET Framework 4.5 替换了 .NET Framework 4。在安装了 .NET Framework 4 的系统上安装 .NET Framework 4.5 时,程序集将被替换。*

      【讨论】:

      • .NET 4.5 的某些功能在 4.0 中不可用,因此最佳做法是针对旧版本,以免被诱惑使用 4.0 中不存在的功能。
      【解决方案4】:

      它本身不包含它(因为某些部分被覆盖),但是如果您的目标是 4.0,那么它应该适用于 4.5,但 反之亦然。

      【讨论】:

        【解决方案5】:

        问题的答案在这里:http://msdn.microsoft.com/en-us/library/5a4x27ek.aspx

        准确地说:

        •.NET Framework 4.5 取代了 .NET Framework 4。当您 在具有 .NET Framework 的系统上安装 .NET Framework 4.5 4 安装,组件被替换。

        所以,没有 .NET 4.5 不包含 .NET 4.0。您仍有可能错过某些程序集

        【讨论】:

        • 因此,由于我测试并看到我的应用程序不需要任何 .net 4.0 特定程序集,我不应该将其从先决条件列表中删除。谢谢。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-17
        • 1970-01-01
        • 2011-03-10
        • 2013-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多