首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

浅析如何判断应用程序是由哪个版本CLR编译而成的

Posted on 2009-12-23 21:51  饭后爱  阅读(392)  评论(0编辑  收藏  举报

在这里我们通过使用工具corflags.exe来查看被编译应用程序的CLR Version,corflags.exe来自Microsoft Windows SDK v6.0A

 

1. 打开Visual Studio 2008 Command Prompt

2. CD 到你的Assembly所在路径,比如说cd /d D:\Mesh\study\dotnet\SxS\CompileTest

3. 输入 corflags [Assembly Name],从下面的例子我们可以看出分别由1.0, 1.1, 2.0 and 4.0 CLR编译而成的

D:\Mesh\study\dotnet\SxS\CompileTest>corflags Program_1.0.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v1.0.3705
CLR Header: 2.0
PE        : PE32
CorFlags  : 1
ILONLY    : 1
32BIT     : 0
Signed    : 0

D:\Mesh\study\dotnet\SxS\CompileTest>corflags Program_1.1.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v1.1.4322
CLR Header: 2.0
PE        : PE32
CorFlags  : 1
ILONLY    : 1
32BIT     : 0
Signed    : 0

D:\Mesh\study\dotnet\SxS\CompileTest>corflags Program_2.0.exe
Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Version   : v2.0.50727
CLR Header: 2.5
PE        : PE32
CorFlags  : 1
ILONLY    : 1
32BIT     : 0
Signed    : 0

D:\Mesh\study\dotnet\SxS\CompileTest>