我们使用MySQL数据库在.NET 4中开发Windows应用程序。当我们要部署该应用程序时,我们在客户端中安装.NET 4框架,然后在安装用于MySQL的.NET连接器时,它需要一个.NET Framework 3.5。但是.NET 4已经安装。.NET框架不向后兼容吗?
我们最终安装了两个.NET框架(3.5和4),它们的磁盘大小都不小。向后兼容到底意味着什么?
What is .NET framework backward compatibility?
一个神话
我们使用MySQL数据库在.NET 4中开发Windows应用程序。当我们要部署该应用程序时,我们在客户端中安装.NET 4框架,然后在安装用于MySQL的.NET连接器时,它需要一个.NET Framework 3.5。但是.NET 4已经安装。.NET框架不向后兼容吗?
我们最终安装了两个.NET框架(3.5和4),它们的磁盘大小都不小。向后兼容到底意味着什么?
What is .NET framework backward compatibility?
一个神话
Answers:
引用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
查看http://dev.mysql.com/doc/refman/5.6/en/connector-net-versions.html,我想您不需要版本3.5,版本2.0应该就足够了(它要小得多,而且一部分3.5)。
如果没有其他帮助,则可以尝试针对FW 4.0自行编译连接器,请参见http://dev.mysql.com/doc/refman/5.6/en/connector-net-installation-source.html