Dan*_*nov 11 .net assemblies native unmanaged
包含托管代码和非托管代码混合的.NET程序集不能与其他程序集进行ILMerged.
如何验证给定的.NET程序集是包含纯托管代码,还是托管代码和非托管代码的混合?
正如nobugz所建议的,更容易看到CLR Flags的方法是使用该corflags实用程序,它是.NET 2.0 SDK的一部分.
如果未指定任何选项,则显示给定图像的标志:
C:\>corflags Foo.dll
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 9
ILONLY : 1
32BIT : 0
Signed : 1
Run Code Online (Sandbox Code Playgroud)
"ILONLY"位指示这是纯粹的托管程序集还是混合程序集.
请注意,来自用户'nobugz'的注释表明这些标记不保证是正确的,因此这种方法可能不是万无一失的.