So you have a .NET dll and you want to know the platform it is built for. That is, you want to check whether the .NET dll was targeted for either
- x86 (32 Bit only)
- x64 (64 Bit only)
- Any CPU (both 32 and 64 bit)
The easiest way to do this is to use corflags.exe which is supplied with the Microsoft Windows SDK. You can get the Windows 7 SDK from here
http://www.microsoft.com/en-us/download/details.aspx?id=8279#overview
Command Line to determine platform
1. Locate where CorFlags.exe is. Generally this would be under <ProgramFiles>\Microsoft SDKs\Windows\<version>\Bin\CorFlags.exe2. Run CorFlags.exe <Full_Path_To_Assembly>. E.g. CorFlags.exe c:\test\test.dll
3. You will see an output like the following
S:\r862\sp1\work\pcdm\std\cms>corflags c:\test\test.dll
Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 3.5.21022.8
Copyright (c) Microsoft Corporation. All rights reserved.
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 11
ILONLY : 1
32BIT : 1
Signed : 1
To determine the platform of the dll, use the following cheat sheet
x86 : PE=PE32 and 32BIT=1
x64: PE=PE32+ and 32BIT=0
Any CPU: PE=PE32 and 32BIT=0
The signed flag indicates whether the assembly is signed or not.
If this article has helped you in some way, please feel free to leave a reply.
Comments
Post a Comment