软卧代二等座,nanfone,阳光 高考
有时候,需要检查构建的dll是否针对正确的平台
可以使用corflags.exe(它是.net framework sdk的一部分)从dll中查找此信息。运行corflags.exe将产生以下输出:
>> corflags "c:\example.dll" microsoft (r) .net framework corflags conversion tool. version 4.6.1590.0 copyright (c) microsoft corporation. all rights reserved. version : v4.0.30319 clr header: 2.5 pe : pe32 corflags : 0x3 ilonly : 1 32bitreq : 1 32bitpref : 0 signed : 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/
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论