我有一个针对 .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 支持生命周期策略。