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

Ura*_*ban 5 .net-4.0 .net-4.5

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

Fra*_*mas 9

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 框架 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 支持生命周期策略。