.NET Framework的版本:市场 vs 现实

由于微软对于.NET Framework 3.0的版本定制策略让社区有些迷糊, Scott Hanselman解释了市场与现实之间的偏差以及其原因。

在Scott Hanselman在他的文章“如何让一个IIS应用程序或应用程序池使用ASP.NET 3.5而不是2.0”里回答了问题之后,有关版本的各种疑问又重新浮出水面了。开发人员希望知道如何配置IIS可以使他们的应用程序能够使用最新的LINQ特性以及WCF的REST支持。

这个问题的答案非常简单:如果要使用.NET Framework 3.5,只需配置应用程序中的web.config文件即可,因为“最重要的东西是在assemblies配置节中新添加的程序集”而不是IIS。您的应用程序池必须依旧使用CLR 2.0版本,例如.NET Framework 2.0。

与版本有关的各种疑惑大都源于这样的猜测:“框架的每个主要版本都会带来一个新的CLR”。不过事实上CLR依旧基于2.0版本,也就是说“框架版本 != CLR版本”。

  • .NET Framework 1.x = CLR 1.x
  • .NET Framework 2.0 = CLR 2.0
  • .NET Framework 3.0 = CLR 2.0
  • .NET Framework 3.5 = CLR 2.0 + (C# 3.0 | VB9)

因此.NET Framework的版本更像是一种“市场说法”,并不代表CLR或编译器的版本。

.NET Framework 3.0添加了“三个主要的类库:WCF (Windows Communication Foundation 即 Indigo)、WPF (Windows Presentation Foundation 即 Avalon) 和Windows Workflow 即 WF。

至少:您不必担心安装.NET 3.0会对您的系统造成任何重大改变。您的2.0程序在安装了3.0的系统上运行。它们都是使用2.0版本编译器生成的,在CLR 2.0中运行的2.0应用。

.NET Framework 3.5带来了“新的C#和VB语言的编译器”,它们都是使用诸如LINQ等新语言特性的必要组件。除此之外它还包含了一些新的程序集,例如“为Windows Communication Foundation所提供的REST支持”以及之前有过独立下载版本的ASP.NET AJAX。

.NET Framework 4.0可能会引入Dynamic Language Runtime(DLR),到那时候市场和现实又该出现一次碰撞了。

查看英文原文: .NET Framework Versions: Marketing vs. Reality

你可能感兴趣的:(.NET Framework的版本:市场 vs 现实)