我是否需要为 .NET Framework 4.7.2 更新我的 CLR 版本?

Do I need to update my CLR version for .NET Framework 4.7.2?

我了解 .NET Framework 和运行时 (CLR) 之间的区别。但是,版本控制确实让我有点困惑。

在过去的八年多时间里,.NET Framework 的版本不断增加,而 CLR 版本似乎一直停留在 4.0。没有对 CLR 进行更改吗?

这是否也意味着在web服务器上,运行使用4.7.2构建的应用程序,只要安装了4.0版本的Runtime,那么它仍然运行?

我在 Microsoft website 上看到有一个单独的运行时包下载。

提前致谢。

每个版本都增加了功能并且可能包含 CLR 更改。如果您使用这些功能中的任何一个,那么您将无法在较小的版本上 运行。

.NET 版本系统相当混乱。您无法从版本整数本身收集到太多信息。但没有必要。重要的只是版本的连续性。

一共有三个版本epoch:1.x、2-3.x、4.x。必须为其中之一编译程序集,并且只能在那里加载。现在对大多数人来说只有 4.x 重要。

您可以在 Visual Studio 中定位低版本。然后,编译器将只允许您使用该版本中可用的 API。这样你就可以确保你可以 运行 下层版本号。这不是 100% 的故障保护,因为行为发生了变化。但与 .NET 的兼容性通常非常高。

对于部署在自己的基础架构上的应用程序,如果可行,我强烈建议将所有开发人员和生产计算机同步到一个 .NET 版本。这样你就不会遇到兼容性问题,你可以忽略整个版本问题。