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

时间:2010-09-03 16:00:12

标签: .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 Workflow)构建了一个应用程序。我已将应用程序升级到v4.0,但我不需要在新版本的工作流程中实现所有重大更改。它仍然使用旧版本的WF。

3 个答案:

答案 0 :(得分:4)

.NET 4.0可以引用.NET 2.0程序集,但反之则不然。

.NET 4.0程序集支持2.0所拥有的所有内容,但增加了可选参数,动态类型等内容......

所以,由于2.0没有4.0没有的东西,4.0可以很容易地支持2.0。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您还可以强制您的第三方程序集在3.5下运行,如in this post所述。