博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
检查.net dll构建的目标平台是any cpu、x86、x64
阅读量:6040 次
发布时间:2019-06-20

本文共 906 字,大约阅读时间需要 3 分钟。

原文:

有时候,需要检查构建的dll是否针对正确的平台

可以使用CorFlags.exe(它是.NET Framework SDK的一部分)从dll中查找此信息。运行CorFlags.exe将产生以下输出:

>> CorFlags "C:\example.dll"Microsoft (R) .NET Framework CorFlags Conversion Tool.  Version  4.6.1590.0Copyright (c) Microsoft Corporation.  All rights reserved.Version   : v4.0.30319CLR Header: 2.5PE        : PE32CorFlags  : 0x3ILONLY    : 132BITREQ  : 132BITPREF : 0Signed    : 0

我们需要关注的两个参数是“PE”和“32BITREQ”​​

Any CPU PE: PE32, 32BITREQ: 0
x86 PE: PE32, 32BITREQ: 1
x64 PE: PE32+, 32BITREQ: 0

 

 

 

 

要以编程方式确定目标平台,我们可以使用Module.GetPEKind()

Assembly a = Assembly.ReflectionOnlyLoadFrom(@"C:\example.dll"); PortableExecutableKinds peKind;ImageFileMachine machine; a.ManifestModule.GetPEKind(out peKind, out machine); Console.WriteLine(peKind);

peKind的结果可以解释为:

Any CPU ILOnly
x86 ILOnly, Required32Bit
x64 ILOnly, PE32Plus

 

 

 

 

 

翻译:https://malvinly.com/2016/11/16/check-whether-a-net-dll-is-built-for-any-cpu-x86-or-x64/

转载地址:http://gtghx.baihongyu.com/

你可能感兴趣的文章
六年程序生涯
查看>>
CrashHandler: java.lang.NullPointerException
查看>>
C#Ftp的下载实例
查看>>
HDU4335 What is N? [数论(欧拉函数)]
查看>>
会声会影字幕制作
查看>>
电商网站中添加商品到购物车功能模块2017.12.8
查看>>
由支付宝当面付引发的NatApp方便调试回调
查看>>
享受LINQ:判断一组文字是否在字符串中同时出现的最简单方法
查看>>
UVA1437 String painter
查看>>
poj 1671 Rhyme Schemes
查看>>
HDU 2639 Bone Collector II DP
查看>>
uni-app 通过本地经纬度获取详细地理位置
查看>>
扩展欧几里得学习小记
查看>>
Linux useradd 添加用户
查看>>
poj3427
查看>>
android 模拟器 hardWare 属性说明
查看>>
GM11灰色模型
查看>>
六款值得推荐的android(安卓)开源框架简介
查看>>
[LeetCode] Path Sum II
查看>>
[LeetCode] Minimum Window Substring
查看>>