-- 作者:wangxinxin
-- 发布时间:2010-12-15 10:28:50
-- NET Framework 以及 CLR 版本辨析
我们来看看以下 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 工具):
使用 nmake.exe 进行编译(所需的 RuntimeFamework.cs 请参见 .NET Framework CLR 版本检测):
使用 Sun VirtualBox 全新安装 Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 操作系统:
运行 ClrInfo35.exe,结果如下所示:
运行 ClrInfo40.exe,结果如下所示:
好吧,让我们安装 Microsoft .NET Framework 2.0 SP2 吧
|