.NET版本向后兼容?

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

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

所以问题是:如果我有.NET 3.5,是否有任何理由也有以前的版本安装?

向后兼容是一个糟糕的术语。 .NET 1.0,1.1和2.0是他们自己的框架,彼此之间没有兼容性。 .NET 3.0和3.5是2.0框架的超级集合,使用.NET 2.0基础框架,附加的dll提供了额外的function(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基地与额外的functiondll)相同的模型。 所以安装.NET 3.5将覆盖你的.NET 2.0 – 3.5应用程序。 如果您运行任何1.1应用程序(1.0应用程序相同),则需要安装.NET 1.1。

.NET向后兼容的程度,但你必须比较框架的版本。 他们所做的状态是,它是并排兼容的,这是你面临的问题。 安装其他版本肯定是有原因的。 可以编写一个应用程序来定位特定的版本,如果这个版本不存在于一台机器上,那么应用程序将失败。

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