【问题标题】:Do I need to update my CLR version for .NET Framework 4.7.2?我是否需要为 .NET Framework 4.7.2 更新我的 CLR 版本?
【发布时间】:2019-03-19 19:23:17
【问题描述】:

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

在过去 8 年左右的时间里,.NET Framework 的版本控制有所增加,但 CLR 版本似乎一直保持在 4.0。没有对 CLR 进行任何更改?

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

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

提前致谢。

【问题讨论】:

    标签: .net visual-studio clr .net-framework-version .net-4.7.2


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 感谢@usr 的回答。是的,这是导致我困惑的版本控制。所以我想最好忽略运行时版本,只获取较新框架版本附带的运行时版本?
    • 两者是捆绑的。你别无选择。你只能选择安装比你的应用程序需要的更高的东西。大多数情况下都可以。
    • 我知道它们捆绑在框架下载中,但您可以单独下载运行时。在您的 Web 服务器上,您只需要运行时,而不是整个框架 - 这是我的理解。
    • @TophatGordon - 这不是运行时与框架的对比。它是运行时与 SDK/Dev 包。它们的运行时确实包含框架。
    • @Damien_The_Unbeliever 我在这里交替使用 Framework 和 SDK/Dev 包(从 .NET Framework 时代开始)。但我的理解仍然是,它只是 Web 服务器上运行 .NET Core 应用程序所需的运行时。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-28
    • 2022-12-04
    • 2020-04-04
    • 2021-10-03
    • 2020-08-08
    • 1970-01-01
    相关资源
    最近更新 更多