<PackageReference Include="Microsoft.Packaging.Tools" Version="1.0.0-preview2-25401-01" />

System.Reflection.PortableExecutable.PEHeaderBuilder

sealed class PEHeaderBuilder
namespace System.Reflection.PortableExecutable { internal sealed class PEHeaderBuilder { public Machine Machine { get; } public Characteristics ImageCharacteristics { get; } public byte MajorLinkerVersion { get; } public byte MinorLinkerVersion { get; } public ulong ImageBase { get; } public int SectionAlignment { get; } public int FileAlignment { get; } public ushort MajorOperatingSystemVersion { get; } public ushort MinorOperatingSystemVersion { get; } public ushort MajorImageVersion { get; } public ushort MinorImageVersion { get; } public ushort MajorSubsystemVersion { get; } public ushort MinorSubsystemVersion { get; } public Subsystem Subsystem { get; } public DllCharacteristics DllCharacteristics { get; } public ulong SizeOfStackReserve { get; } public ulong SizeOfStackCommit { get; } public ulong SizeOfHeapReserve { get; } public ulong SizeOfHeapCommit { get; } public PEHeaderBuilder(Machine machine = Machine.Unknown, int sectionAlignment = 8192, int fileAlignment = 512, ulong imageBase = 4194304, byte majorLinkerVersion = 48, byte minorLinkerVersion = 0, ushort majorOperatingSystemVersion = 4, ushort minorOperatingSystemVersion = 0, ushort majorImageVersion = 0, ushort minorImageVersion = 0, ushort majorSubsystemVersion = 4, ushort minorSubsystemVersion = 0, Subsystem subsystem = Subsystem.WindowsCui, DllCharacteristics dllCharacteristics = DllCharacteristics.DynamicBase | DllCharacteristics.NxCompatible | DllCharacteristics.NoSeh | DllCharacteristics.TerminalServerAware, Characteristics imageCharacteristics = Characteristics.Dll, ulong sizeOfStackReserve = 1048576, ulong sizeOfStackCommit = 4096, ulong sizeOfHeapReserve = 1048576, ulong sizeOfHeapCommit = 4096); public static PEHeaderBuilder CreateExecutableHeader(); public static PEHeaderBuilder CreateLibraryHeader(); } }