.NET 4.6.1 是否会使 .NET 4.0 变得多余?

.NET 4.6.1 是否会使 .NET 4.0 变得多余?

我有一个针对 .NET 4.0.30319 的应用程序。但是 Windows 更新只为我提供了在客户端上安装 4.5.2 或 4.6.1 的选项。该应用程序是否可以在安装了 .NET 4.6.1 或 4.5.2 的情况下运行?还是我需要手动安装 .NET 4.0.30319?

答案1

4.5.x 是 .Net 4.0 的“就地升级”,而 4.6.x 是 4.5.x 的“就地”升级,所以是的,4.6.x 应该涵盖您需要的一切。

请参阅此处了解详情:https://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx

针对版本 4.5 及更高版本定位并运行 .NET Framework 应用程序

.NET Framework 4.5 是替换计算机上的 .NET Framework 4 的就地更新,同样,.NET Framework 4.5.1 4.5.2、4.6、4.6.1 和 4.6.2 是 .NET Framework 4.5 的就地更新,这意味着它们使用相同的运行时版本,但程序集版本已更新并包含新类型和成员。安装其中一个更新后,.NET Framework 4、.NET Framework 4.5 或 .NET Framework 4.6 应用应继续运行而无需重新编译。但是,反之则不然。我们不建议在 .NET Framework 的早期版本上运行面向更高版本的 .NET Framework 的应用。例如,我们不建议在 .NET Framework 4.5 上运行面向 .NET Framework 4.6 的应用。适用以下准则:

在 Visual Studio 2013 中,您可以选择 .NET Framework 4.5 作为项目的目标框架(这会设置 GetReferenceAssemblyPaths.TargetFrameworkMoniker 属性),以将项目编译为 .NET Framework 4.5 程序集或可执行文件。然后可以在安装了 .NET Framework 4.5、4.5.1、4.5.2、4.6 或 4.6.1 的任何计算机上使用此程序集或可执行文件。

在 Visual Studio 中,您可以选择 .NET Framework 4.5.1 作为项目的目标框架(这将设置 GetReferenceAssemblyPaths.TargetFrameworkMoniker 属性),以将项目编译为 .NET Framework 4.5.1 程序集或可执行文件。此程序集或可执行文件应仅在安装了 .NET Framework 4.5.1 或更高版本的 .NET Framework 的计算机上运行。针对 .NET Framework 4.5.1 的可执行文件将无法在仅安装了早期版本的 .NET Framework(例如 .NET Framework 4.5)的计算机上运行,​​并且系统将提示用户安装 .NET Framework 4.5.1。此外,不应从针对早期版本的 .NET Framework(例如 .NET Framework 4.5)的应用调用 .NET Framework 4.5.1 程序集。

此处仅以 .NET Framework 4.5.1 和 .NET Framework 4.5 为例。此原则适用于任何以比其运行的系统上安装的 .NET Framework 版本更高的版本为目标的应用。

.NET Framework 中的某些更改可能需要更改您的应用代码;在使用 .NET Framework 4.5 或更高版本运行现有应用之前,请参阅 .NET Framework 中的应用程序兼容性。有关安装当前版本的更多信息,请参阅安装 .NET Framework。有关 .NET Framework 支持的信息,请参阅 Microsoft 支持网站上的 Microsoft .NET Framework 支持生命周期策略。

相关内容