什么是.NET Framework向后兼容?


12

我们使用MySQL数据库在.NET 4中开发Windows应用程序。当我们要部署该应用程序时,我们在客户端中安装.NET 4框架,然后在安装用于MySQL的.NET连接器时,它需要一个.NET Framework 3.5。但是.NET 4已经安装。.NET框架不向后兼容吗?

我们最终安装了两个.NET框架(3.5和4),它们的磁盘大小都不小。向后兼容到底意味着什么?


3
尚未解决的问题的答案是:是的,生气是可以的。
埃里克·雷彭

您是否必须为一个连接器安装整个.NET 3.5 Framework?您是否尝试仅复制/注册所需的程序集?
Mert Akcakaya 2012年

6
What is .NET framework backward compatibility?一个神话
扬尼斯

@YannisRizos他们拥有过时的代码/功能,并使其框架越来越大,这是神话吗?.NET很奇怪。
约翰·以赛亚·卡莫纳

@ErikReppen:对谁生气?
布朗

Answers:


18

引用MSDN

.NET Framework 4与使用.NET Framework 1.1、2.0、3.0和3.5版构建的应用程序向后兼容。换句话说,使用.NET Framework早期版本构建的应用程序和组件将在.NET Framework 4上运行。

但是,实际上,.NET Framework中似乎无关紧要的更改和编程技术的更改可能会破坏这种兼容性。例如,.NET Framework 4中的性能改进可以揭示早期版本中没有出现的竞争条件。同样,使用到.NET Framework程序集的硬编码路径,与.NET Framework的特定版本进行相等性比较以及通过使用反射获得私有字段的值也不是向后兼容的做法。此外,每个.NET Framework版本均包含错误修复和与安全相关的更改,这些更改可能会影响某些应用程序和组件的兼容性。

您应该测试.NET Framework应用程序和组件,以确保它们与.NET Framework的其他版本兼容。为确保应用程序或组件在.NET Framework 4上成功运行,请使用.NET Framework 4应用程序兼容性演练。

您可能还会看到这个非常有用的线程,其中给出了详细的解释:

/programming/2816914/backwards-compatibility-of-net-framework-4


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.