相关疑难解决方法(0)

如何确定.NET程序集是为x86还是x64构建的?

我有一个任意的.NET程序集列表.

我需要以编程方式检查每个DLL是否是为x86构建的(而不是x64或任何CPU).这可能吗?

.net 64-bit x86 assemblies x86-64

312
推荐指数
8
解决办法
16万
查看次数

为什么是程序集.exe文件?

正如我所理解的那样,.net Framework中的汇编是中间语言文件+一些元数据,清单和其他东西.

CLR将程序集转换为机器代码,可以在给定的本地机器上执行.

这意味着在CLR处理之前,程序集不应该由程序集执行.如果是这样,那为什么它有.exe扩展名,可以在Windows机器上执行?

.net clr

25
推荐指数
2
解决办法
5527
查看次数

如何检测dll的类型?(COM,.NET,WIN32)

我需要处理一个文件夹中的一些dll和exe文件,并确定我正在处理的文件类型:.NET,COM,Win32或其他一些外来生命形式.

我一直在尝试确定检测DLL类型的最简单方法,你怎么看待这个:

  1. COM dll =>我做了一个LoadLibrary,然后是" DllRegisterServer "的GetProcAddress .如果我得到有效的回报,那就是一个COM文件.

  2. .NET dll =>如果dll依赖于MSCOREE.DLL,它总是一个.NET dll?

  3. Win32 dll =>如果上述测试都失败了,那就是Win32 dll?

当然必须有更好的方法来检测我们正在处理的dll类型.以上是非常笨重的,并不适用于EXE文件?必须有一些我没想到的其他方式.

理想情况下,我希望能够让解析器确定编译文件的编译器,以及它使用的功能,如MFC,Atl,Stl等......但我怀疑在预反射时代是否可行?

.net com dll file

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net ×3

64-bit ×1

assemblies ×1

clr ×1

com ×1

dll ×1

file ×1

x86 ×1

x86-64 ×1