<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發語言培訓專區Microsoft.NET Framework → NET Framework 以及 CLR 版本辨析


      共有7460人關注過本帖樹形打印

    主題:NET Framework 以及 CLR 版本辨析

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    NET Framework 以及 CLR 版本辨析  發帖心情 Post By:2010-12-15 10:28:50

    我們來看看以下 ClrInfo.cs 吧:


    using System;
    using System.Text;

    namespace Skyiv
    {
      public class ClrInfo
      {
        static void Main()
        {
          Console.WriteLine("      OS Version: {0}", Environment.OSVersion);
          Console.WriteLine("     CLR Version: {0}  ( {1} )", Environment.Version, RuntimeFramework.CurrentFramework);
          Console.WriteLine("Default Encoding: {0}", Encoding.Default);
          Console.WriteLine();
          Console.WriteLine(typeof(string).AssemblyQualifiedName);
    #if !NetFx20
          Console.WriteLine(typeof(System.IO.Packaging.Package).AssemblyQualifiedName);
          Console.WriteLine(typeof(System.TimeZoneInfo).AssemblyQualifiedName);
    #endif
          Console.WriteLine();
          Console.WriteLine("Available Frameworks:");
          foreach (var frame in RuntimeFramework.AvailableFrameworks) Console.WriteLine("  " + frame);
        }
      }
    }

    使用以下 makefile 文件來編譯(請參見: 淺談 make 工具):

    CLR35 = C:\Windows\Microsoft.NET\Framework\v3.5
    CLR40 = C:\Windows\Microsoft.NET\Framework\v4.0.30319
    CSC35 = $(CLR35)\csc.exe
    CSC40 = $(CLR40)\csc.exe
    SRC1 = ClrInfo.cs RuntimeFramework.cs
    
    ClrInfo20.exe: $(SRC1)
    	$(CSC35) -out:$@ $(SRC1) -D:NetFx20
    
    ClrInfo35.exe: $(SRC1)
    	$(CSC35) -out:$@ $(SRC1) -r:WindowsBase.dll
    
    ClrInfo40.exe: $(SRC1)
    	$(CSC40) -out:$@ $(SRC1) -r:$(CLR40)\WPF\WindowsBase.dll
    

       使用 nmake.exe 進行編譯(所需的 RuntimeFamework.cs 請參見 .NET Framework CLR 版本檢測):

    E:\CS\ClrInfo> nmake ClrInfo20.exe
    Microsoft (R) 程序維護實用工具 9.00.30729.01 版
    版權所有(C) Microsoft Corporation。保留所有權利。
    
    C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe -out:ClrInfo20.exe ClrInfo.cs RuntimeFramework.cs -D:NetFx20
    適用于 Microsoft(R) .NET Framework 3.5 版的 Microsoft(R) Visual C# 2008 編譯器 3.5.30729.1 版
    版權所有(C) Microsoft Corporation。保留所有權利。
    
    E:\CS\ClrInfo> nmake ClrInfo35.exe
    Microsoft (R) 程序維護實用工具 9.00.30729.01 版
    版權所有(C) Microsoft Corporation。保留所有權利。
    
    C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe -out:ClrInfo35.exe ClrInfo.cs RuntimeFramework.cs -r:WindowsBase.dll
    適用于 Microsoft(R) .NET Framework 3.5 版的 Microsoft(R) Visual C# 2008 編譯器 3.5.30729.1 版
    版權所有(C) Microsoft Corporation。保留所有權利。
    
    E:\CS\ClrInfo> nmake ClrInfo40.exe
    Microsoft (R) 程序維護實用工具 9.00.30729.01 版
    版權所有(C) Microsoft Corporation。保留所有權利。
    
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe -out:ClrInfo40.exe ClrInfo.cs RuntimeFramework.cs
     -r:C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\WindowsBase.dll
    Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1
    Copyright (C) Microsoft Corporation. All rights reserved.
    
    E:\CS\ClrInfo> dir *.exe
    2010/04/17  19:59             7,168 ClrInfo20.exe
    2010/04/17  19:59             7,168 ClrInfo35.exe
    2010/04/17  19:59             7,680 ClrInfo40.exe
    

      使用 Sun VirtualBox 全新安裝 Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 操作系統:

     

      運行 ClrInfo35.exe,結果如下所示:

     

      運行 ClrInfo40.exe,結果如下所示:

     

     

      好吧,讓我們安裝 Microsoft .NET Framework 2.0 SP2 吧


    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    NET Framework 以及 CLR 版本辨析








    簽名