.net 4.0 .Net 2.0/3.5和4.0之间的向后兼容性

.net 4.0 .Net 2.0/3.5和4.0之间的向后兼容性,.net-4.0,backwards-compatibility,.net 4.0,Backwards Compatibility,我有一个从3.5升级到4.0的应用程序。但并非我所有的第三方程序集都是基于.net 4.0构建的。我怎么还能毫无问题地引用这些程序集?例如,如果另一个程序集引用system.dll 2.0,而我升级的项目引用system.dll 4.0,.net如何处理此问题 显然,在2.0和3.5之间升级并没有问题,因为它们使用相同的BCL和CLR版本,但4.0使用完全不同的BCL和CLR,对吗 这里有一个例子。我在v3.5中使用WF(Windows工作流)构建了一个应用程序。我已经将应用程序升级到v4.0,

我有一个从3.5升级到4.0的应用程序。但并非我所有的第三方程序集都是基于.net 4.0构建的。我怎么还能毫无问题地引用这些程序集?例如,如果另一个程序集引用system.dll 2.0,而我升级的项目引用system.dll 4.0,.net如何处理此问题

显然,在2.0和3.5之间升级并没有问题,因为它们使用相同的BCL和CLR版本,但4.0使用完全不同的BCL和CLR,对吗


这里有一个例子。我在v3.5中使用WF(Windows工作流)构建了一个应用程序。我已经将应用程序升级到v4.0,但我不需要在新版本的工作流中实现所有突破性的更改。它仍然使用旧的3.5版本的WF。

.NET 4.0可以引用.NET 2.0程序集,但事实并非如此

.NET4.0程序集支持2.0所拥有的一切,但添加了可选参数、动态类型等内容


因此,由于2.0没有4.0没有的东西,4.0可以轻松支持2.0。

BCL和CLR不同,但不是完全不同。基本上,他们努力不破坏向后兼容性。

您还可以强制第三方程序集在3.5下运行,如前所述