我有一个应用程序,我已从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。
答案 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所述。