我有一个针对 .NET 4.0.30319 的应用程序。然而,Windows Update 只为我提供了在我的客户端上安装 4.5.2 或 4.6.1 的选项。该应用程序是否会在安装 .NET 4.6.1 或 4.5.2 的情况下运行?还是我需要手动安装 .NET 4.0.30319?
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 支持生命周期策略。