• 检查.NET程序平台目标(Platform Target)工具CorFlags


    .NET Framework SDK中的一个工具程序: CorFlags.exe。CorFlags.exe不但可查询.NET组件的平台目标设定,甚至能直接修改设定,省去重新编译的工夫。

    先通过实验观察不同平台目标组件的下拉列表。在Visual Studio中依序调整PlatformTarget为Any CPU, x86及x64,分别编译成EventPingPongAny.exe, EventPingPongX86.exe, EventPingPongX64.exe三个程序集。

    再使用corflags EventPingPong*.exe的方法检查相关属性,得到结果如下:

    H:\Lab\EventPingPong\bin>corflags EventPingPongAny.exe

    Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1

    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

     

    H:\Lab\EventPingPong\bin>corflags EventPingPongx86.exe

    Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1

    Copyright (c) Microsoft Corporation.  All rights reserved.

     

    Version   : v2.0.50727

    CLR Header: 2.5

    PE        : PE32

    CorFlags  : 3

    ILONLY    : 1

    32BIT     : 1

    Signed    : 0

     

    H:\Lab\EventPingPong\bin>corflags EventPingPongx64.exe

    Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.0.30319.1

    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

    PE, CorFlags, IONLY, 32BIT等属性的意义可以参考这篇文章。若要将编译成Any CPU的程序目标平台改为限定x86,可使用以下指令:

    CorFlags /32BIT+ EventPingPongAny.exe

    将参数改为/32BIT-则可以再还原回Any CPU。至于纯x64目标平台的程序由于PE不同(为PE32+,与Any CPU, x86不同),故无法直接使用CorFlags切换,必须重新编译。

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    Python print() 函数
    Python issubclass() 函数
    Python execfile() 函数
    Python basestring() 函数
    QTP自动化测试-点滴-步骤
    qtp自动化测试-条件语句 if select case
    学习心态--笔记
    测试计划小记
    QTP自动化测试-笔记 注释、大小写
    win10 新建文件夹没有了
  • 原文地址:https://www.cnblogs.com/shanyou/p/2915347.html
Copyright © 2020-2023  润新知