.net框架版本(或运行什么?)

时间:2010-07-15 03:42:28

标签: .net frameworks version

好的,这是一个相当广泛的问题,但是......是否有图表说明框架的哪个版本会运行什么?

所以,我想它会扼杀两个问题

1 - 框架是否100%向后兼容?我有一个Framework 2.0网站运行1.1 dll,所以我认为2.0将运行1.1。这适用于Windows应用程序吗?它适用于所有版本吗?

2 - 框架是否向前兼容?我知道上面的相反方法不起作用,但它适用于任何一组版本吗?

那么,保持客户机器上的版本与构建版本同步有多重要?

.net社区是否有最好的实践,如何让您的软件为大多数客户服务,而不强迫非技术用户下载更新/不同版本的.net框架?

3 个答案:

答案 0 :(得分:4)

根据经验,如果.NET版本X与.NET版本Y并排安装,则.NET版本X与.NET版本Y不兼容(向后或向前)。这是规则I已经使用了相当长的一段时间(自.NET 2.0问世以来)。对于小规模的应用来说,它可能过于安全了,但最好是安全而不是抱歉。

以下是一些具体的例子:

  • .NET 4.0无法正常运行.NET 3.x或更早版本的应用程序
  • .NET 3.5将运行.NET 3.0& .NET 2.0应用程序,但不是.NET 1.1
  • .NET 3.0将运行.NET 2.0应用程序,但不运行.NET 1.1
  • .NET 2.0不会运行.NET 1.1

  • .NET 4.0与.NET 3.5 / 3.0 / 2.0和.NET 1.1并行安装

  • .NET 3.5,3.0和2.0不会彼此并排安装
  • .NET 3.5 / 3.0 / 2.0与.NET 1.1并行安装

希望这有帮助。

答案 1 :(得分:1)

IMO,迄今为止的“主要”版本是:

  • 1.0
  • 1.1
  • 2.0,3.0,3.5(我认为由于主要的C#扩展而将其拆分)
  • 4.0

不同线路上的框架并排安装,不会相互运行;只要主机至少安装了组件的版本,同一行上的那些可以互换使用。

所有.NET版本目前都附带Windows - 它们现在被视为操作系统的一部分并遵循其生命周期。 (请参阅http://support.microsoft.com/lifecycle/search/?alpha=.NET+Framework&sort=PN)如果您的用户一直保持他们的计算机是最新的,那么使用最新的.NET Framework版本应该没有问题。

对于1.0以上的配置文件,请确保包含<supportedRuntime>元素:http://msdn.microsoft.com/en-us/library/w4atty68.aspx

正如Jim Schubert在他的评论中提到的,你的C#代码可以在更高版本上编译,但是有一些重大变化。

答案 2 :(得分:0)

没有在任何地方看过图表,但一般情况下,您不必担心向后兼容性。唯一重要的是确保您的客户安装了最小的框架。

不,没有.NET版本是向前兼容的。