NET Framework十年回顾 体积越小功能越强_第1页
NET Framework十年回顾 体积越小功能越强_第2页
NET Framework十年回顾 体积越小功能越强_第3页
NET Framework十年回顾 体积越小功能越强_第4页
NET Framework十年回顾 体积越小功能越强_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.NET Framework十年回顾 体积越小功能越强在Visual Studio 2010正式发布后,.NET平台也差不多走过了十多年的时间。这十几年.NET Framework的发展是怎样的一个过程,本文将为您揭示.NET Framework十年发展路。bitscn向您推荐Visual Studio进化史专题配合您了解这篇文章。自2000年6月22日微软向全球宣布自己的.NET战略,到现在已经十年多了。作为.NET战略的基础,Microsoft .NET Framework 也已经发行了多个版本。下面,我们就来看看这些年来微软到底发布了哪些 .NET Framework 版本。1. Fra

2、mework  CLR and Assemblies          Release  2. -  .7.  1.  5.  16. Framework  CLR           New assemblies &#

3、160;17. -  1.  22.23.24.  25. Framework  CLR and Assemblies            Release  26. -  27.注意,没有 CLR 3.0 和 CLR 3.5。有些 Windows 操作系统中已经内置了 .NET Framework,如下所示:VersionVersion NumberRelease

4、DateVisual StudioDefault in Windows1.01.0.3705.02002-02-13Visual Studio .NET 322.5732003-04-24Visual Studio .NET 2003Windows Server 20032.02.0.50727.422005-11-07Visual Studio 2005 3.03.0.4506.302006-11-06 Windows Vista, Windows Server 2001022.82007-11-19Visual Studio

5、2008Windows 7, Windows Server 2008 R24.04.0.30319.12010-04-12Visual Studio 2010 各个 .NET Framework 版本之间的关系如下图:几个重要的 .NET Framework 安装程序的大小如下:Version File Date & Time Bytes MB File Name- - - - -2.0 SP2 2008/07/30 09:54 25,001,480 23.8 NetFx20SP2_x86.exe3.5 SP1 2008/07/30 16:22 242,743,296 231

6、.5 dotnetfx35setup.exe4.0 RTM 2010/03/19 09:44 50,449,456 48.1 dotNetFx40_Full_x86_x64.exeWIC 2009/11/23 20:24 1,226,536 1.2 wic_x86_chs.exe可以看出,.NET Framework 3.5 SP1 安装程序特别大,而 .NET Framework 4.0 RTM 安装程序反而变小了很多,不知 Microsoft 使用了什么技术,在增加功能的基础上还大大减少了安装程序的大小。我们来看看以下 ClrInfo.cs 吧:1. using System;

7、 2. using System.Text;  3.  4. namespace Skyiv  5.  6.   public class ClrInfo  7.     8.     static void Main()  9.       10.       Con

8、sole.WriteLine("      OS Version: 0", Environment.OSVersion);  11.       Console.WriteLine("     CLR Version: 0  ( 1 )", Environment.Version

9、, RuntimeFramework.CurrentFramework);  12.       Console.WriteLine("Default Encoding: 0", Encoding.Default);  13.       Console.WriteLine();  14.       Console.Write

10、Line(typeof(string).AssemblyQualifiedName);  15. #if !NetFx20  16.       Console.WriteLine(typeof17.       Console.WriteLine(typeof(System.TimeZoneInfo).AssemblyQualifiedName);  18. #endif  19.    

11、60;  Console.WriteLine();  20.       Console.WriteLine("Available Frameworks:");  21.       foreach (var frame in RuntimeFramework.AvailableFrameworks) Console.WriteLine("

12、0; " + frame);  22.       23.     24.  使用以下 makefile 文件来编译(请参见: 浅谈 make 工具):1. CLR35 = C:WindowsMicrosoft.NETFrameworkv3.5  2.3. CSC35 = $(CLR35)csc.exe  4. CSC40 = $(CLR40)csc.exe  5.

13、SRC1 = ClrInfo.cs RuntimeFramework.cs  6.  7. ClrInfo20.exe: $(SRC1)  8.     $(CSC35) -out:$ $(SRC1) -D:NetFx20  9.  10. ClrInfo35.exe: $(SRC1)  11.     $(CSC35) -out:$ $(SRC1)

14、0;-r:WindowsBase.dll  12.  13. ClrInfo40.exe: $(SRC1)  14.     $(CSC40) -out:$ $(SRC1) -r:$(CLR40)WPFWindowsBase.dll 使用 nmake.exe 进行编译(所需的 RuntimeFamework.cs 请参见 .NET Framework CLR 版本检测): 1. E:CSClrInfo> nmake ClrInfo20.ex

15、e  2.3. 版权所有(C) Microsoft Corporation。保留所有权利。  4.  5. C:WindowsMicrosoft.NETFrameworkv3.5csc.exe -out:ClrInfo20.exe ClrInfo.cs RuntimeFramework.cs -D:NetFx20  6.7. 版权所有(C) Microsoft Corporation。保留所有权利。  8.  9. E:CSClrInfo> 

16、;nmake ClrInfo35.exe  10.11. 版权所有(C) Microsoft Corporation。保留所有权利。  12.  13. C:WindowsMicrosoft.NETFrameworkv3.5csc.exe -out:ClrInfo35.exe ClrInfo.cs RuntimeFramework.cs -r:WindowsBase.dll  14.15. 版权所有(C) Microsoft Corporation。保留所有权利。

17、 16.  17. E:CSClrInfo> nmake ClrInfo40.exe  18.19. 版权所有(C) Microsoft Corporation。保留所有权利。  20.  4. Copyright (C) Microsoft Corporation. All rights reserved.  25.  26. E:CSClrInfo> dir *.exe

18、 27. 2010/04/17  19:59             7,168 ClrInfo20.exe  28. 2010/04/17  19:59             7,168 ClrInfo35.exe  29. 2010/04/17

19、  19:59             7,680 ClrInfo40.exe 使用 Sun VirtualBox 全新安装 Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 操作系统: 运行 ClrInfo35.exe,结果如下所示:运行 ClrInfo40.exe,结果如下所示: 好吧,让我们安装 Microsoft .

20、NET Framework 2.0 SP2 吧。然后运行 ClrInfo20.exe,结果如下所示:1. D:CSClrInfo> ClrInfo20  .  6. System.String, mscorlib, Version=2Culture=neutral, PublicKeyToken=b77a5c561934e089 7.  8. Available Frameworks:  9.10.运行 ClrInfo35.exe,结果如下所示:1. D:CSClrInfo&

21、gt; ClrInfo35  2.  3.4.   or  5.  one of its dependencies. 系统找不到指定的文件。  6. File name:  7.8.  9. WRN: Assembly binding logging is turned OFF.  10. To enable assembly bind&

22、#160;failure logging, set the registry value  11.  HKLMSoftwareMicrosoftFusion!EnableLog (DWORD) to 1.  12. Note: There is some performance penalty associated with assembly bind failure logg

23、ing.  13. To turn this feature off, remove the registry value HKLMSoftwareMicrosoftFusion!EnableLog. 运行 ClrInfo40.exe,还是报“.NET Framework Initialization Error”错误。使用 Sun VirtualBox 的快照恢复功能将 Microsoft Windows Server 2003 R2 Enterprise Edition Servi

24、ce Pack 2 操作系统恢复到全新安装的状态。然后安装 Microsoft .NET Framework 4.0 RTM。其中的 Microsoft .NET Framework 4 Client Profile 也可以单独安装的,这样安装包(41.0MB)会小一些,但是有些扩展功能就不能用了。运行 ClrInfo40.exe,结果如下所示:1. D:CSClrInfo> ClrInfo40  .  6. System.String, mscorlib, Version=4Culture=neutral, Pu

25、blicKeyToken=b77a5c561934e089 7. Version=4Culture=neutral, PublicKeyToken=31bf3856ad364e35 8. System.TimeZoneInfo, mscorlib, Version=4Culture=neutral, PublicKeyToken=b77a5c561934e089 9.  10. Available Frameworks:  11.12.运行 ClrInfo35.exe,结果如下所示:这就是说,旧

26、版本的 .NET 程序不能运行在新版本的 CLR 4.0 上面。1. <configuration>   2. <startup>   3. <supportedRuntime version="v4.0"/>   4. </startup>   5. </configuration>  其运行结果和 ClrInfo40.exe 的一样。现在我们接着安装 Microsoft .NET Framework 3.5 SP1。 可见,安装 .NET Framework 3.5 SP1 时,会自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论