代码之家  ›  专栏  ›  技术社区  ›  Micah

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

  •  2
  • Micah  · 技术社区  · 14 年前

    我有一个从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,对吗?

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

    3 回复  |  直到 14 年前
        1
  •  4
  •   John Gietzen    14 年前

    .NET 4.0可以引用.NET 2.0程序集,但反过来则不正确。

    .NET 4.0程序集支持2.0的所有功能,但添加了可选参数、动态类型等内容…

    因此,由于2.0没有4.0没有的内容,4.0可以轻松地支持2.0。

        2
  •  0
  •   stonemetal    14 年前

    BCL和CLR是不同的,但并没有完全不同。基本上,他们努力工作以避免破坏向后兼容性。

        3
  •  0
  •   Community Neeleshkumar S    7 年前

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