PortableExecutableKinds Enum


Identifies the nature of the code in an executable file.

This enumeration supports a bitwise combination of its member values.

public enum class PortableExecutableKinds
public enum PortableExecutableKinds
public enum PortableExecutableKinds
type PortableExecutableKinds = 
type PortableExecutableKinds = 
Public Enum PortableExecutableKinds


ILOnly 1

The executable contains only Microsoft intermediate language (MSIL), and is therefore neutral with respect to 32-bit or 64-bit platforms.

NotAPortableExecutableImage 0

The file is not in portable executable (PE) file format.

PE32Plus 4

The executable requires a 64-bit platform.

Preferred32Bit 16

The executable is platform-agnostic but should be run on a 32-bit platform whenever possible.

Required32Bit 2

The executable can be run on a 32-bit platform, or in the 32-bit Windows on Windows (WOW) environment on a 64-bit platform.

Unmanaged32Bit 8

The executable contains pure unmanaged code.


To obtain this value for a module, use the Module.GetPEKind method.


This enumeration corresponds to the CorPEKind enumeration in the unmanaged reflection API, which is accessed by the unmanaged GetPEKind function.

Applies to