.NET 版本是否向后兼容?

.NET 版本是否向后兼容?

多年来,各种版本的 .NET 已通过 WSUS 部署到我的客户端计算机。现在看来,在许多计算机上,这些安装相互干扰,并且某些 .NET 安全更新失败。

我确认我可以运行 .NET 清理工具来清除客户端上的所有 .NET 安装,然后我可以通过 WSUS 推出 .NET 3.5。这似乎解决了我在尝试的机器上遇到的问题。

所以问题是:如果我已经有了.NET 3.5,是否还有理由安装以前的版本?

答案1

向后兼容是一个不好的术语。.NET 1.0、1.1 和 2.0 是它们自己的框架,彼此之间没有兼容性。.NET 3.0 和 3.5 是 2.0 框架的超集,使用 .NET 2.0 基础框架,并使用附加 dll 来提供附加功能(3.0 包括 WCF 和 WWF 之类的东西,3.5 有 LINQ 之类的东西)。在应用程序要求方面:

  • 1.0 应用程序需要安装.NET 1.0。
  • 1.1 应用程序需要安装.NET 1.1。
  • 2.0 应用程序需要安装.NET 2.0、3.0 或 3.5。
  • 3.0 应用程序需要安装.NET 3.0 或 3.5。
  • 3.5 应用程序需要安装.NET 3.5。

我相当确定 .NET 4.0 遵循与 2.0 - 3.5 相同的模型(2.0 基础加上附加功能 dll)。因此安装 .NET 3.5 将覆盖 .NET 2.0 - 3.5 应用程序。如果您运行任何 1.1 应用程序,则需要安装 .NET 1.1(1.0 应用程序也是如此)。

答案2

.NET 在一定程度上是向后兼容的,但您必须比较框架的不同版本。他们确实声明它是并排兼容的,这是您面临的问题。安装其他版本肯定是有原因的。可以编写应用程序以针对特定版本,如果计算机上没有此版本,则应用程序将失败。

答案3

不,.net 不向后兼容。MS 保留做出更改的权利。2.0 到 3.5 是 IIRC,但这更像是“幸运的一面”。概念是安装了所需的所有框架,并且应用程序针对其编译的框架 - 这允许 MS 清理新版本并引入不兼容的更改。

相关内容