技术革新换代的速度已经达到了一个非常快速的时代。作为开发人员来说这无疑是一个好时代。这些新的技术能够帮助他们提高程序开发效率。.Net 新技术不断翻新,.NET Framework版本已经从1.0开始,经过1.1, 2.0, 3.0, 现在已到了3.5。很多人惊呼:变化太快了,我们刚刚学会一个,下一个又来了,似乎永远有学不完的东西!其实,当你爱上IT行业的那一刻起,就应该有“活到老,学到老”的思想准备。在IT业,也印证了“想说爱你不容易”这句时髦的流行语。#t#
.NET Framework版本不断更新,是旧瓶装新酒还是新瓶装旧酒?答案似乎更趋后者。且看如下公式:
.NET Framework 3.5 = .NET Framework 3.0 + .NET Framework 3.0 SP1
.NET Framework 3.0 = .NET Framework 2.0 + .NET Framework 2.0 SP1 + WPF + WCF + WF + WCS
.NET Framework 3.5 版以 .NET Framework 2.0 版和 .NET Framework 3.0 版为基础,包括 .NET Framework 2.0 和 3.0 版的 Service Pack。
.NET Framework 2.0 SP1: 它更新包含在 .NET Framework 2.0 中的程序集。
.NET Framework 3.0还包含 .NET Framework 3.0 中引入的技术所必需的程序集。例如,WPF等
.NET Framework 3.0 Service Pack 1,它更新在 .NET Framework 3.0 中引入的程序集(PresentationFramework.dll,PresentationCore.dll等)。
应用程序无论针对的是 .NET Framework 2.0、3.0 还是 3.5 版,都使用相同的程序集。
例如: 对于使用 WPF 并针对 .NET Framework 3.0 的应用程序,其所使用的 mscorlib 程序集实例与使用 Windows 窗体并针对 .NET Framework 2.0 的应用程序是相同的。如果 .NET Framework 2.0 SP1 已安装在计算机上,则 mscorlib.dll 已更新,并且两个应用程序将都使用 mscorlib.dll 的更新.NET Framework版本。
所以,有人又这么总结:
.NET 3.0 = .NET 2.0 SP 1 with WCF, WPF, WF and WCS
.NET 3.5 = .NET 2.0 SP 2 with LINQ, C# 3.0, WCF 2.0, WPF 2.0, WF 2.0 and ASP.NET Ajax
值得一提的是,.NET Framework 2.0、3.0 和 3.5 版之间的关系不同于 1.0、1.1 和 2.0 版之间的关系。.NET Framework 1.0、1.1 和 2.0 版是彼此完全独立的,对于其中任何一个版本来说,无论计算机上是否存在其他版本,自己都可以存在于该计算机上。当 1.0、1.1 和 2.0 版位于同一台计算机上时,每个版本都有自己的公共语言运行库、类库和编译器,等等。也就是,应用程序可以选择是针对 1.0、1.1 还是 2.0 版。
.NET Framework版本比较表
.NET打包版本 1.0 1.1 2.0 3.0 3.5
CLR版本 1.0 1.1 2.0 2.0 2.0
C#编译器版本 1.0 1.1 2.0 2.0 3.0
VB编译器版本 7.0 7.1 8.0 8.0 9.0
.NET Framework版本兼容性
关于版本的兼容性,以下是MSDN的解释:
.NET Framework 对向后和向前兼容性的支持与版本相关。.NET Framework 只对使用 1.1 版创建的应用程序支持向后和向前兼容性。在使用 2.0 版创建的应用程序中,.NET Framework 不支持向前兼容性。在 .NET Framework 的上下文中,向后兼容性意味着使用 .NET Framework 的较早版本创建的应用程序可以在更高的版本上运行。相反,向前兼容性意味着使用 .NET Framework 的更高版本创建的应用程序可以在较早的版本上运行。
.NET Framework 提供高度的向后兼容性支持。例如,大多数使用 1.0 版创建的应用程序将在 1.1 版上运行,使用 1.1 版创建的应用程序将在 2.0 版上运行。只有对于 1.1 版,.NET Framework 还支持向前兼容性。但是,对于向前兼容性,可能需要修改应用程序以使应用程序按预期的方式运行。使用 2.0 版创建的应用程序将不在 .NET Framework 的早期.NET Framework版本上运行。对于向后和向前兼容性,对 .NET Framework 所做的可以提高安全性、正确性和功能性的更改也可能会引发兼容性问题。