CorFlagsフラグの解釈 質問する

CorFlagsフラグの解釈 質問する

どう解釈すればいいのでしょうかコルフラグフラグと、.NET アセンブリが x86 用にビルドされたか x64 用にビルドされたかを判断するためにこれをどのように使用すればよいですか?

それは次のことでしょうか?

corflags MyAssembly.dll

ベストアンサー1

マイクロソフト.NET 4.5新しいオプションを導入しました。任意のCPU 32ビット推奨CorFlags.exeの新しいバージョンでは、32BITフラグは存在しなくなり、代わりに2つの新しいフラグが追加されました。32ビットそして32ビット参照

以下の説明に基づいて、新しい CorFlags を次のように解釈できます。

CPU Architecture           PE      32BITREQ   32BITPREF
------------------------   -----   --------   ---------
x86 (32-bit)               PE32           1           0
x64 (64-bit)               PE32+          0           0
Any CPU                    PE32           0           0
Any CPU 32-Bit Preferred   PE32           0           1

掲揚された旗コルフラグ.exe所在地C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 ツール

Version   : Assembly's target framework.
Header    : 2.0/2.5 (Must have version of 2.5 or greater to run natively)
PE        : PE32 (32-bit)/PE32+ (64-bit)
CorFlags  : Hexadecimal value, computed based on below 4 flags.
ILONLY    : 1 if MSIL otherwise 0
32BITREQ  : 1 if 32-bit x86 only assembly otherwise 0
32BITPREF : 1 if 32-bit x86 only preferred in Any CPU architecture otherwise 0
Signed    : 1 if signed with strong name otherwise 0

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\CorFlags.exe次の例は、さまざまなアセンブリの出力を示しています。

PresentationCore.dllからガック_32

CorFlags.exe "C:\Windows\Microsoft.NET\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll"

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0xb
ILONLY    : 1
32BITREQ  : 1
32BITPREF : 0
Signed    : 1

System.Data.dllからガック_64

CorFlags.exe "C:\Windows\Microsoft.NET\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll"

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32+
CorFlags  : 0x18
ILONLY    : 0
32BITREQ  : 0
32BITPREF : 0
Signed    : 1

System.dllからGAC_MSIL

CorFlags.exe "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll"

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 0x9
ILONLY    : 1
32BITREQ  : 0
32BITPREF : 0
Signed    : 1

詳しく知るには任意のCPU 32ビット推奨アセンブリは参照する.NET 4.5 および Visual Studio 11 における AnyCPU の本当の意味

おすすめ記事