Offline Verification Tool Reference
An offline verification tool for managed PE files, PEVerify.exe is distributed with the Microsoft .NET Framework SDK. The tool includes two components: the metadata validator (MDValidator) and the IL verifier (ILVerifier).
MDValidator works on the module level, running validity checks of the metadata of a specified managed module (PE file). It does not matter whether the specified module is a prime module or an auxiliary. If the specified module is a prime module of an assembly, MDValidator does not automatically check other modules of the same assembly.
ILVerifier works on the assembly level, loading the assembly in full in memory, resolving internal references, and verifying the IL code of the methods contained in the assembly. Consequently, ILVerifier fails if the specified PE file is not the prime module of the assembly.
The result of this discrepancy in the approaches taken by MDValidator and ILVerifier is that only single-module assemblies can be fully validated and verified in one pass of the verification tool.
The PEVerify tool sets the exit code to 1 if errors are found during the PE file verification and sets the code to 0 otherwise.
The command-line format is as follows:
peverify<PE_file> <option>*
Unlike the IL assembler and the IL disassembler, the PEVerify tool does not allow arbitrary positioning of the filename and options on the command line; rather, the name of the PE file being verified must be the first command-line parameter. Also, unlike the assembler and disassembler options, which are recognized by their first three characters only, PEVerify options must be fully spelled out.
PEVerify options are case insensitive, and the option key can be a forward slash (/) or a hyphen (-). The equality character (=) cannot be replaced with the colon character (:).
The command-line options include the following:
The following example shows verification of an exceptionally buggy PE file, created using the IL assembler with the /ERROR option::
D:MTRY>peverify mtry.exe /md /il /hresult /unique
Microsoft (R) .NET Framework PE Verifier Version 4.0.30319.33440
Copyright (C) Microsoft Corporation. All rights reserved.
[MD](0x8013121D): Error: TypeDef is marked ValueType but not marked
Sealed. [token:0x02000002]
[MD](0x80131256): Error: TypeDef is not marked Nested but has an encloser
type. [token:0x02000006]
[MD](0x8013126D): Error: Global item (field,method) must be Public, Private, or
PrivateScope. [token:0x04000002]
[MD](0x8013126E): Error: Global item (field,method) must be Static.
[token:0x04000002]
[MD](0x8013126A): Error: Field name value__ is reserved for Enums only.
[token:0x04000008]
[MD](0x80131B24): Error: Illegal use of type 'void' in signature.
[token:0x06000001]
[MD](0x801312DB): Error: Constructor, initializer must return void.
[token:0x06000005]
[MD](0x801312DF): Error: ELEMENT_TYPE_SENTINEL is only allowed in MemberRef
signatures. [token:0x06000009]
[MD](0x801312E2): Error: Trailing ELEMENT_TYPE_SENTINEL in signature.
[token:0x06000009]
[MD](0x80131239): Error: Signature has invalid calling convention=0x00000023.
[token:0x0600000D]
[MD](0x801312E0): Error: Signature containing ELEMENT_TYPE_SENTINEL must be VARARG.
[token:0x0A000006]
[MD](0x801312E1): Error: Multiple ELEMENT_TYPE_SENTINEL in signature.
[token:0x0A000006]
[MD](0x80131230): Error: FieldLayout2 record has Field token=0x04000003 marked
Static. [token:0x00000001]
13 Errors Verifying mtry.exe
In Tables E-1 and E-2, 0xff, 0xffff, and 0xffffffff denote hexadecimal numbers, and 99 denotes a decimal number.
Table E-1. Metadata Validation Error Codes and Messages
HRESULT |
Error Message |
---|---|
0x80131203 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has rid out of range. |
0x80131204 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has coded token type out of range. |
0x80131205 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has coded rid out of range. |
0x80131206 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has an invalid String offset. |
0x80131207 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has an invalid GUID offset. |
0x80131208 |
Error (Structural): Table=0xffffffff, Col=0xffffffff, Row=0xffffffff has an invalid BLOB offset. |
0x80131209 |
Error: Multiple module records found. |
0x8013120A |
Error: Module has no MVID. |
0x8013120B |
Error: TypeRef has no name. |
0x8013120C |
Error: TypeRef has a duplicate, token=0xffffffff. |
0x8013120D |
Error: TypeDef has no name. |
0x8013120E |
Error: TypeDef has a duplicate based on name+namespace, token=0xffffffff. |
0x8013120F |
Warning: TypeDef has a duplicate based on GUID, token=0xffffffff. |
0x80131210 |
Error: TypeDef that is not an Interface and not the Object class extends Nil token. |
0x80131211 |
Error: TypeDef for Object class extends token=0xffffffff which is not nil. |
0x80131212 |
Error: TypeDef extends token=0xffffffff which is marked Sealed. |
0x80131213 |
Error: TypeDef is a Deleted record but not marked RTSpecialName. |
0x80131214 |
Error: TypeDef is marked RTSpecialName but is not a Deleted record. |
0x80131215 |
Error: MethodImpl overrides private method (token=0xffffffff). |
0x80131216 |
Error: Assembly name contains path and/or extension. |
0x80131217 |
Error: File has a reserved system name. |
0x80131218 |
Error: MethodImpl has static overriding method (token=0xffffffff). |
0x80131219 |
Error: TypeDef is marked Interface but not Abstract. |
0x8013121A |
Error: TypeDef is marked Interface but extends non-Nil token=0xffffffff. |
0x8013121B |
Warning: TypeDef is marked Interface but has no GUID. |
0x8013121C |
Error: MethodImpl overrides final method (token=0xffffffff). |
0x8013121D |
Error: TypeDef is marked ValueType but not marked Sealed. |
0x8013121E |
Error: Parameter has invalid flags set 0xffffffff. |
0x8013121F |
Error: InterfaceImpl has a duplicate, token=0xffffffff. |
0x80131220 |
Error: MemberRef has no name. |
0x80131221 |
Error: MemberRef name starts with _VtblGap. |
0x80131222 |
Error: MemberRef name starts with _Deleted. |
0x80131223 |
Error: MemberRef parent is Nil but the module is a PE file. |
0x80131224 |
Error: MemberRef signature has invalid calling convention=0xffffffff. |
0x80131225 |
Error: MemberRef has MethodDef parent, but calling convention is not VARARG (parent: 0xffffffff; callconv: 0xffffffff). |
0x80131226 |
Error: MemberRef has different name than parent MethodDef, token=0xffffffff. |
0x80131227 |
Error: MemberRef has fixed part of signature different from parent MethodDef, token=0xffffffff. |
0x80131228 |
Warning: MemberRef has a duplicate, token=0xffffffff. |
0x80131229 |
Error: ClassLayout has parent TypeDef token=0xffffffff marked AutoLayout. |
0x8013122A |
Error: ClassLayout has invalid PackingSize; valid set of values is {1,2,4,...,128} (parent: 0xffffffff; PackingSize: 99). |
0x8013122B |
Error: ClassLayout has a duplicate (parent: 0xffffffff; duplicate rid: 0xffffffff). |
0x8013122C |
Error: FieldLayout2 record has invalid offset (field: 0xffffffff; offset: 0xffffffff). |
0x8013122D |
Error: FieldLayout2 record for Field token=0xffffffff has TypeDefNil for parent. |
0x8013122E |
Error: FieldLayout2 record for field of type that has no ClassLayout record (field: 0xffffffff; type: 0xffffffff). |
0x8013122F |
Error: Explicit offset specified for field of type marked AutoLayout (field: 0xffffffff; type: 0xffffffff). |
0x80131230 |
Error: FieldLayout2 record has Field token=0xffffffff marked Static. |
0x80131231 |
Error: FieldLayout2 record has a duplicate, rid=0xffffffff. |
0x80131232 |
Error: ModuleRef has no name. |
0x80131233 |
Warning: ModuleRef has a duplicate, token=0xffffffff. |
0x80131234 |
Error: TypeRef has invalid resolution scope. |
0x80131235 |
Error: TypeDef is marked Nested but has no encloser type. |
0x80131236 |
Warning: Type extends TypeRef which resolves to TypeDef in the same module (TypeRef: 0xffffffff; TypeDef: 0xffffffff). |
0x80131237 |
Error: Signature has zero size. |
0x80131238 |
Error: Signature does not have enough bytes left at byte=0xffffffff as indicated by the compression scheme. |
0x80131239 |
Error: Signature has invalid calling convention=0xffffffff. |
0x8013123A |
Error: Method is marked Static but calling convention=0xffffffff is marked HASTHIS. |
0x8013123B |
Error: Method is not marked Static, but calling convention=0xffffffff is not marked HASTHIS. |
0x8013123C |
Error: Signature has no argument count at byte=0xffffffff. |
0x8013123D |
Error: Signature missing element type after modifier (modifier: 0xff; offset: 0xffffffff). |
0x8013123E |
Error: Signature missing token after element 0xffff. |
0x8013123F |
Error: Signature has an invalid token (token: 0xffffffff; offset: 0xffffffff). |
0x80131240 |
Error: Signature missing function pointer at byte=0xffffffff. |
0x80131241 |
Error: Signature has function pointer missing argument count at byte=0xffffffff. |
0x80131242 |
Error: Signature missing rank at byte=0xffffffff. |
0x80131243 |
Error: Signature missing count of sized dimensions of array at byte=0xffffffff. |
0x80131244 |
Error: Signature missing size of dimension of array at byte=0xffffffff. |
0x80131245 |
Error: Signature missing count of lower bounds of array at byte=0xffffffff. |
0x80131246 |
Error: Signature missing lower bound of array at byte=0xffffffff. |
0x80131247 |
Error: Signature has invalid ELEMENT_TYPE_* (element type: 0xffffffff; offset: 0xffffffff). |
0x80131248 |
Error: Signature missing size for VALUEARRAY at byte=0xffffffff. |
0x80131249 |
Error: Field signature has invalid calling convention=0xffffffff. |
0x8013124A |
Error: Method has no name. |
0x8013124B |
Error: Method parent is Nil. |
0x8013124C |
Error: Method has a duplicate, token=0xffffffff. |
0x8013124D |
Error: Field has no name. |
0x8013124E |
Error: Field parent is Nil. |
0x8013124F |
Error: Field has a duplicate, token=0xffffffff. |
0x80131250 |
Error: Multiple assembly records found. |
0x80131251 |
Error: Assembly has no name. |
0x80131252 |
Error: Token 0xffffffff following ELEMENT_TYPE_CLASS (_VALUETYPE) in signature is a ValueType (Class, respectively). |
0x80131253 |
Error: ClassLayout has parent TypeDef token=0xffffffff marked Interface. |
0x80131255 |
Error: AssemblyRef has no name. |
0x80131256 |
Error: TypeDef is not marked Nested but has an encloser type. |
0x80131258 |
Error: File has no name. |
0x80131259 |
Error: ExportedType has no name. |
0x8013125A |
Error: TypeDef extends its own child. |
0x8013125B |
Error: ManifestResource has no name. |
0x8013125C |
Error: File has a duplicate, token=0xffffffff. |
0x8013125D |
Error: File name is fully-qualified, but should not be. |
0x8013125E |
Error: ExportedType has a duplicate, token=0xffffffff. |
0x8013125F |
Error: ManifestResource has a duplicate by name, token=0xffffffff. |
0x80131260 |
Error: ManifestResource is not marked Public or Private. |
0x80131262 |
Error: Field value__(token=0xffffffff) in Enum is marked static. |
0x80131263 |
Error: Field value__(token=0xffffffff) in Enum is not marked RTSpecialName. |
0x80131264 |
Error: Field (token=0xffffffff) in Enum is not marked static. |
0x80131265 |
Error: Field (token=0xffffffff) in Enum is not marked literal. |
0x80131267 |
Error: Signature of field (token=0xffffffff) in Enum does not match enum type. |
0x80131268 |
Error: Field value__(token=0xffffffff) in Enum is not the first one. |
0x80131269 |
Error: Field (token=0xffffffff) is marked RTSpecialName but not named value__. |
0x8013126A |
Error: Field name value__is reserved for Enums only. |
0x8013126B |
Error: Instance field in Interface. |
0x8013126C |
Error: Non-public field in Interface. |
0x8013126D |
Error: Global item (field, method) must be Public, Private, or PrivateScope. |
0x8013126E |
Error: Global item (field, method) must be Static. |
0x80131270 |
Error: Type/instance constructor has zero RVA. |
0x80131271 |
Error: Field is marked marshaled but has no marshaling information. |
0x80131272 |
Error: Field has marshaling information but is not marked marshaled. |
0x80131273 |
Error: Field is marked HasDefault but has no const value. |
0x80131274 |
Error: Field has const value but is not marked HasDefault. |
0x80131275 |
Error: Item (field, method) is marked HasSecurity but has no security information. |
0x80131276 |
Error: Item (field, method) has security information but is not marked HasSecurity. |
0x80131277 |
Error: PInvoke item (field, method) must be Static. |
0x80131278 |
Error: PInvoke item (field, method) has no Implementation Map. |
0x80131279 |
Error: Item (field, method) has Implementation Map but is not marked PInvoke. |
0x8013127A |
Warning: Item (field, method) has invalid Implementation Map. |
0x8013127B |
Error: Implementation Map has invalid Module Ref, token 0xffffffff. |
0x8013127C |
Error: Implementation Map has invalid Member Forwarded, token 0xffffffff. |
0x8013127D |
Error: Implementation Map has no import name. |
0x8013127E |
Error: Implementation Map has invalid calling convention 0xff. |
0x8013127F |
Error: Item (field, method) has invalid access flag. |
0x80131280 |
Error: Field marked both InitOnly and Literal. |
0x80131281 |
Error: Literal field must be Static. |
0x80131282 |
Error: Item (field, method) is marked RTSpecialName but not SpecialName. |
0x80131283 |
Error: Abstract method in non-abstract type (token=0xffffffff). |
0x80131284 |
Error: Neither static nor abstract method in interface (token=0xffffffff). |
0x80131285 |
Error: Non-public method in interface (token=0xffffffff). |
0x80131286 |
Error: Instance constructor in interface (token=0xffffffff). |
0x80131287 |
Error: Global constructor. |
0x80131288 |
Error: Static instance constructor in type (token=0xffffffff). |
0x80131289 |
Error: Constructor/initializer in type (token=0xffffffff) is not marked SpecialName, RTSpecialName. |
0x8013128A |
Error: Virtual constructor/initializer in type (token=0xffffffff). |
0x8013128B |
Error: Abstract constructor/initializer in type (token=0xffffffff). |
0x8013128C |
Error: Non-static type initializer in type (token=0xffffffff). |
0x8013128D |
Error: Method marked Abstract/Runtime/InternalCall/Imported must have zero RVA, and vice versa. |
0x8013128E |
Error: Method marked Final/NewSlot but not Virtual. |
0x8013128F |
Error: Static method cannot be Final or Virtual. |
0x80131290 |
Error: Method cannot be both Abstract and Final. |
0x80131291 |
Error: Abstract method marked ForwardRef. |
0x80131292 |
Error: Abstract method marked PInvokeImpl. |
0x80131293 |
Error: Abstract method not marked Virtual. |
0x80131294 |
Error: Nonabstract method not marked ForwardRef. |
0x80131295 |
Error: Nonabstract method must have RVA or be PInvokeImpl or Runtime. |
0x80131296 |
Error: PrivateScope method has zero RVA. |
0x80131297 |
Error: Global method marked Abstract, Virtual. |
0x80131298 |
Error: Signature contains long form (such as ELEMENT_TYPE_CLASS<token of System.String>). |
0x80131299 |
Warning: Method has multiple semantics. |
0x8013129A |
Error: Method has invalid semantic association (token=0xffffffff). |
0x8013129B |
Error: Method has semantic association (token=0xffffffff) that does not exist. |
0x8013129C |
Error: MethodImpl overrides non-virtual method (token=0xffffffff). |
0x8013129E |
Error: Method has multiple semantic flags set for association (token=0xffffffff). |
0x8013129F |
Error: Method has no semantic flags set for association (token=0xffffffff). |
0x801312A1 |
Warning: Unrecognized Hash Algorithm ID (0xffffffff). |
0x801312A4 |
Error: Constant parent token (0xffffffff) is out of range. |
0x801312A5 |
Error: Invalid Assembly flags (0xffff). |
0x801312A6 |
Warning: TypeDef (token=0xffffffff) has same name as TypeRef. |
0x801312A7 |
Error: InterfaceImpl has invalid implementing type (0xffffffff). |
0x801312A8 |
Error: InterfaceImpl has invalid implemented type (0xffffffff). |
0x801312A9 |
Error: TypeDef has security information but is not marked HasSecurity. |
0x801312AA |
Error: TypeDef is marked HasSecurity but has no security information. |
0x801312AB |
Error: Type constructor must have no arguments. |
0x801312AC |
Error: ExportedType has invalid Implementation (token=0xffffffff). |
0x801312AD |
Error: MethodImpl has body from another TypeDef (token=0xffffffff). |
0x801312AE |
Error: Type constructor has invalid calling convention. |
0x801312AF |
Error: MethodImpl has invalid Type token=0xffffffff. |
0x801312B0 |
Error: MethodImpl declared in Interface (token=0xffffffff). |
0x801312B1 |
Error: MethodImpl has invalid MethodDeclaration token=0xffffffff. |
0x801312B2 |
Error: MethodImpl has invalid MethodBody token=0xffffffff. |
0x801312B3 |
Error: MethodImpl has a duplicate (rid=0xffffffff). |
0x801312B4 |
Error: Field has invalid parent (token=0xffffffff). |
0x801312B5 |
Warning: Parameter out of sequence (parameter: 99; seq.num: 99). |
0x801312B6 |
Error: Parameter has sequence number exceeding number of arguments (parameter: 99; seq.num: 99; num.args: 99). |
0x801312B7 |
Error: Parameter #99 is marked HasFieldMarshal but has no marshaling information. |
0x801312B8 |
Error: Parameter #99 has marshaling information but is not marked HasFieldMarshal. |
0x801312BA |
Error: Parameter #99 is marked HasDefault but has no const value. |
0x801312BB |
Error: Parameter #99 has const value but is not marked HasDefault. |
0x801312BC |
Error: Property has invalid scope (token=0xffffffff). |
0x801312BD |
Error: Property has no name. |
0x801312BE |
Error: Property has no signature. |
0x801312BF |
Error: Property has a duplicate (token=0xffffffff). |
0x801312C0 |
Error: Property has invalid calling convention (0xff). |
0x801312C1 |
Error: Property is marked HasDefault but has no const value. |
0x801312C2 |
Error: Property has const value but is not marked HasDefault. |
0x801312C3 |
Error: Property has related method with invalid semantics (method: 0xffffffff; semantics: 0xffffffff). |
0x801312C4 |
Error: Property has related method with invalid token (0xffffffff). |
0x801312C5 |
Error: Property has related method belonging to another type (method: 0xffffffff; type: 0xffffffff). |
0x801312C6 |
Error: Constant of type (0xff) must have null value. |
0x801312C7 |
Error: Constant of type (0xff) must have non-null value. |
0x801312C8 |
Error: Event has invalid scope (token=0xffffffff). |
0x801312CA |
Error: Event has no name. |
0x801312CB |
Error: Event has a duplicate (token=0xffffffff). |
0x801312CC |
Error: Event has invalid EventType (token=0xffffffff). |
0x801312CD |
Error: Event’s EventType (token=0xffffffff) is not a class (flags=0xffffffff). |
0x801312CE |
Error: Event has related method with invalid semantics (method: 0xffffffff; semantics: 0xffffffff). |
0x801312CF |
Error: Event has related method with invalid token (0xffffffff). |
0x801312D0 |
Error: Event has related method belonging to another type (method: 0xffffffff; type: 0xffffffff). |
0x801312D1 |
Error: Event has no AddOn-related method. |
0x801312D2 |
Error: Event has no RemoveOn-related method. |
0x801312D3 |
Error: ExportedType has same namespace+name as TypeDef, token 0xffffffff. |
0x801312D4 |
Error: ManifestResource refers to non-PE file but offset is not 0. |
0x801312D5 |
Error: Decl.Security is assigned to invalid item (token=0xffffffff). |
0x801312D6 |
Error: Decl.Security has invalid action flag (0xffffffff). |
0x801312D7 |
Error: Decl.Security has no associated permission BLOB. |
0x801312D8 |
Error: ManifestResource has invalid Implementation (token=0xffffffff). |
0x801312DB |
Error: Constructor, initializer must return void. |
0x801312DC |
Error: Event’s Fire method (0xffffffff) must return void. |
0x801312DD |
Warning: Invalid locale string. |
0x801312DE |
Error: Constant has parent of invalid type (token=0xffffffff). |
0x801312DF |
Error: ELEMENT_TYPE_SENTINEL is only allowed in MemberRef signatures. |
0x801312E0 |
Error: Signature containing ELEMENT_TYPE_SENTINEL must be VARARG. |
0x801312E1 |
Error: Multiple ELEMENT_TYPE_SENTINEL in signature. |
0x801312E2 |
Error: Trailing ELEMENT_TYPE_SENTINEL in signature. |
0x801312E3 |
Error: Signature is missing argument # 99. |
0x801312E4 |
Error: Field of byref type. |
0x801312E5 |
Error: Synchronized method in ValueType (token=0xffffffff). |
0x801312E6 |
Error: Full name length exceeds maximum allowed (length: 99; max: 99). |
0x801312E9 |
Error: ManifestResource has invalid flags (0xffffffff). |
0x801312EA |
Warning: ExportedType has no TypeDefId. |
0x801312EB |
Error: File has invalid flags (0xffffffff). |
0x801312EC |
Error: File has no hash BLOB. |
0x801312ED |
Error: Module has no name. |
0x801312EE |
Error: Module name is fully-qualified. |
0x801312EF |
Error: TypeDef marked as RTSpecialName but not SpecialName. |
0x801312F0 |
Error: TypeDef extends an Interface (token=0xffffffff). |
0x801312F1 |
Error: Type/instance constructor marked PInvokeImpl. |
0x801312F2 |
Error: System.Enum is not marked Class. |
0x801312F3 |
Error: System.Enum must extend System.ValueType. |
0x801312F4 |
Error: MethodImpl’s Decl and Body method signatures do not match. |
0x801312F5 |
Error: Enum has method(s). |
0x801312F6 |
Error: Enum implements interface(s). |
0x801312F7 |
Error: Enum has properties. |
0x801312F8 |
Error: Enum has one or more events. |
0x801312F9 |
Error: TypeDef has invalid Method List (>Nmethods+1). |
0x801312FA |
Error: TypeDef has invalid Field List (>Nfields+1). |
0x801312FB |
Error: Constant has illegal type (0xff). |
0x801312FC |
Error: Enum has no instance field. |
0x801312FD |
Error: Enum has multiple instance fields. |
0x80131B00 |
Error: InterfaceImpl’s implemented type (0xffffffff) not marked tdInterface. |
0x80131B01 |
Error: Field is marked HasRVA but has no RVA record. |
0x80131B02 |
Error: Field is assigned zero RVA. |
0x80131B03 |
Error: Method has both RVA!=0 and Implementation Map. |
0x80131B04 |
Error: Extraneous bits in Flags (0xffffffff). |
0x80131B05 |
Error: TypeDef extends itself. |
0x80131B06 |
Error: System.ValueType must extend System.Object. |
0x80131B07 |
Warning: TypeDef extends TypeSpec (0xffffffff), not supported in Version 1. |
0x80131B09 |
Error: Value class has neither fields nor size parameter. |
0x80131B0A |
Error: Interface is marked Sealed. |
0x80131B0B |
Error: NestedClass token (0xffffffff) in NestedClass record is not a valid TypeDef. |
0x80131B0C |
Error: EnclosingClass token (0xffffffff) in NestedClass record is not a valid TypeDef. |
0x80131B0D |
Error: Duplicate NestedClass record (0xffffffff). |
0x80131B0E |
Error: Nested type token has multiple EnclosingClass tokens (nested: 0xffffffff; enclosers: 0xffffffff, 0xffffffff). |
0x80131B0F |
Error: Zero RVA of field 0xffffffff in FieldRVA record. |
0x80131B10 |
Error: Invalid field token in FieldRVA record (field: 0xffffffff; RVA: 0xffffffff). |
0x80131B11 |
Error: Same RVA in another FieldRVA record (RVA: 0xffffffff; field: 0xffffffff). |
0x80131B12 |
Error: Same field in another FieldRVA record (field: 0xffffffff; record: 0xffffffff). |
0x80131B13 |
Error: Invalid token specified as EntryPoint in CLR header. |
0x80131B14 |
Error: Instance method token specified as EntryPoint in CLR header. |
0x80131B15 |
Error: Invalid type of instance field (0xffffffff) of an Enum. |
0x80131B16 |
Error: Method has invalid RVA (0xffffffff). |
0x80131B17 |
Error: Literal field has no const value. |
0x80131B18 |
Error: Class implements interface but not method (class:0xffffffff; interface:0xffffffff; method:0xffffffff). |
0x80131B19 |
Error: CustomAttribute has invalid Parent token (0xffffffff). |
0x80131B1A |
Error: CustomAttribute has invalid Type token (0xffffffff). |
0x80131B1B |
Error: CustomAttribute has non-constructor Type (0xffffffff). |
0x80131B1C |
Error: CustomAttribute’s Type (0xffffffff) has invalid signature. |
0x80131B1D |
Error: CustomAttribute’s Type (0xffffffff) has no signature. |
0x80131B1E |
Error: CustomAttribute’s blob has invalid prolog (0xffff). |
0x80131B1F |
Error: Method has invalid local signature token (0xffffffff). |
0x80131B20 |
Error: Method has invalid header. |
0x80131B21 |
Error: EntryPoint method has more than one argument. |
0x80131B22 |
Error: EntryPoint method must return void, int, or unsigned int. |
0x80131B23 |
Error: EntryPoint method must have vector of strings as argument, or no arguments. |
0x80131B24 |
Error: Illegal use of type ‘void’ in signature. |
0x80131B25 |
Error: Multiple implementation of interface method (class: 0xffffffff; interface: 0xffffffff; method: 0xffffffff). |
0x80131B26 |
Error: GenericParam has no name. |
0x80131B27 |
Warning: GenericParam has nil owner. |
0x80131B28 |
Error: GenericParam has a duplicate based on owner and name, token=0xffffffff. |
0x80131B29 |
Error: GenericParam has a duplicate based on owner and number, token=0xffffffff. |
0x80131B2A |
Error: GenericParam is out of sequence by owner. |
0x80131B2B |
Error: GenericParam is out of sequence by number. |
0x80131B2C |
Error: GenericParam is co- or contravariant but its owner, token (0xffffffff), is not an interface or delegate. |
0x80131B2D |
Error: GenericParam is a method type parameter and must be non-variant, not co- or contravariant. |
0x80131B2E |
Error: GenericParam has invalid variance value in flags (0xffffffff). |
0x80131B2F |
Error: GenericParam has inconsistent special constraints ReferenceTypeConstraint and ValueTypeConstraint in flags (0xffffffff). |
0x80131B30 |
Error: GenericParamConstraint has nil owner. |
0x80131B31 |
Error: GenericParamConstraint has a duplicate based on owner and constraint, token=0xffffffff. |
0x80131B32 |
Error: GenericParamConstraint is non-contiguous with preceding constraints for same owner, token=0xffffffff. |
0x80131B33 |
Error: MethodSpec has nil method. |
0x80131B34 |
Error: MethodSpec has a duplicate based on method and instantiation, token=0xffffffff. |
0x80131B35 |
Error: MethodSpec signature has invalid calling convention=0xffffffff. |
0x80131B36 |
Error: MethodSpec signature is missing arity at byte=0xffffffff. |
0x80131B37 |
Error: MethodSpec signature is missing type argument # 99. |
0x80131B38 |
Error: MethodSpec has generic method of arity 99 but instantiation of different arity 99. |
0x80131B39 |
Error: MethodSpec method is not generic. |
0x80131B3A |
Error: Signature missing arity of instantiated generic type at byte=0xffffffff. |
0x80131B3B |
Error: Signature has generic type of arity 99 instantiated at different arity 99 at byte=0xffffffff. |
0x80131B3C |
Error: Method cannot be both generic and a class constructor. |
0x80131B3E |
Error: Method cannot be both generic and defined on an imported type. |
0x80131B3F |
Error: Method cannot be both generic and have non-default calling convention. |
0x80131B40 |
Error: Entry point in CLR header is the token for a generic method. |
0x80131B41 |
Error: Method signature is generic but is missing its arity at byte=0xffffffff. |
0x80131B42 |
Error: Method signature is generic but its arity is zero at byte=0xffffffff. |
0x80131B43 |
Error: MethodSpec signature has arity 0 at byte=0xffffffff. |
0x80131B44 |
Error: Signature has generic type instantiated at arity 0 at byte=0xffffffff. |
0x80131B45 |
Error: MethodDef signature has arity 99 but the token owns 99 GenericParams. |
0x80131B46 |
Error: Entry point in CLR header is the token for a method in a generic type. |
0x80131B47 |
Error: MethodImpl overrides non-generic method (token=0xffffffff) with generic method. |
0x80131B48 |
Error: MethodImpl overrides generic method (token=0xffffffff) with non-generic method. |
0x80131B49 |
Error: MethodImpl overrides generic method (token=0xffffffff) of arity 99 with generic method of arity 99. |
0x80131B4A |
Error: TypeDef extends a TypeSpec (0xffffffff) that is not an instantiated type. |
0x80131B4B |
Error: Signature has type instantiated at ByRef at offset 0xffffffff. |
0x80131B4C |
Error: MethodSpec has type instantiated at ByRef at offset 0xffffffff. |
0x80131B4D |
Error: TypeSpec has empty signature. |
0x80131B4E |
Error: TypeSpec has signature containing one or more sentinels. |
0x80131B4F |
Error: TypeDef is generic but has explicit layout. |
0x80131B50 |
Error: Signature has token following ELEMENT_TYPE_CLASS (_VALUETYPE) that is not a TypeDef or TypeRef (token: 0xffffffff; offset: 0xffffffff). |
0x80131B51 |
Warning: Class does not implement interface method in this module (class: 0xffffffff; interface: 0xffffffff; method: 0xffffffff). |
Table E-2. IL Verification Error Codes and Messages
HRESULT |
Error Message |
---|---|
0x80131810 |
Unknown opcode [0xffffffff]. |
0x80131811 |
Unknown calling convention [0xffffffff]. |
0x80131812 |
Unknown ELEMENT_TYPE [0xffffffff]. |
0x80131818 |
Internal error. |
0x80131819 |
Stack is too large. |
0x8013181A |
Array name is too long. |
0x80131820 |
Fallthru end of the method. |
0x80131821 |
Try start >=try end. |
0x80131822 |
Try end > code size. |
0x80131823 |
Handler >=handler end. |
0x80131824 |
Handler end > code size. |
0x80131826 |
Try starts in the middle of an instruction. |
0x80131827 |
Handler starts in the middle of an instruction. |
0x80131829 |
Try block overlaps with another block. |
0x8013182A |
Try and filter/handler blocks are equivalent. |
0x8013182B |
Try shared between finally and fault. |
0x8013182C |
Handler block overlaps with another block. |
0x8013182D |
Handler block is the same as another block. |
0x8013182E |
Filter block overlaps with another block. |
0x8013182F |
Filter block is the same as another block. |
0x80131830 |
Filter contains try. |
0x80131831 |
Filter contains handler. |
0x80131832 |
Nested filters. |
0x80131833 |
Filter >=code size. |
0x80131834 |
Filter starts in the middle of an instruction. |
0x80131835 |
Fallthru the end of an exception block. |
0x80131836 |
Fallthru into an exception handler. |
0x80131837 |
Fallthru into an exception filter. |
0x80131838 |
Leave from outside a try or catch block. |
0x80131839 |
Rethrow from outside a catch handler. |
0x8013183A |
Endfinally from outside a finally handler. |
0x8013183B |
Endfilter from outside an exception filter block. |
0x8013183C |
Missing Endfilter. |
0x8013183D |
Branch into try block. |
0x8013183E |
Branch into exception handler block. |
0x8013183F |
Branch into exception filter block. |
0x80131840 |
Branch out of try block. |
0x80131841 |
Branch out of exception handler block. |
0x80131842 |
Branch out of exception filter block. |
0x80131843 |
Branch out of finally block. |
0x80131844 |
Return out of try block. |
0x80131845 |
Return out of exception handler block. |
0x80131846 |
Return out of exception filter block. |
0x80131847 |
Jmp/exception into the middle of an instruction. |
0x80131848 |
Non-compatible types depending on path. |
0x80131849 |
Init state for this differs depending on path. |
0x8013184A |
Non-compatible types on stack depending on path. |
0x8013184B |
Stack depth differs depending on path. |
0x8013184C |
Instance variable (this) missing. |
0x8013184D |
Uninitialized this on entering a try block. |
0x8013184E |
Store into this when it is uninitialized. |
0x8013184F |
Return from ctor when this is uninitialized. |
0x80131850 |
Return from ctor before all fields are initialized. |
0x80131851 |
Branch back when this is uninitialized. |
0x80131852 |
Expected byref of value type for this parameter. |
0x80131853 |
Non-compatible types on the stack. |
0x80131854 |
Unexpected type on the stack. |
0x80131855 |
Missing stack slot for exception. |
0x80131856 |
Stack overflow. |
0x80131857 |
Stack underflow. |
0x80131858 |
Stack empty. |
0x80131859 |
Uninitialized item on stack. |
0x8013185A |
Expected I, I4, or I8 on the stack. |
0x8013185B |
Expected R, R4, or R8 on the stack. |
0x8013185C |
Unexpected R, R4, R8, or I8 on the stack. |
0x8013185D |
Expected numeric type on the stack. |
0x8013185E |
Expected an Objref on the stack. |
0x8013185F |
Expected address of an Objref on the stack. |
0x80131860 |
Expected Byref on the stack. |
0x80131861 |
Expected pointer to function on the stack. |
0x80131862 |
Expected single dimension array on the stack. |
0x80131863 |
Expected value type instance on the stack. |
0x80131864 |
Expected address of value type on the stack. |
0x80131865 |
Unexpected value type instance on the stack. |
0x80131866 |
Local variable is unusable at this point. |
0x80131867 |
Unrecognized local variable number. |
0x80131868 |
Unrecognized argument number. |
0x80131869 |
Unable to resolve token. |
0x8013186A |
Unable to resolve type of the token. |
0x8013186B |
Expected memberRef/memberDef token. |
0x8013186C |
Expected memberRef/fieldDef token. |
0x8013186D |
Expected signature token. |
0x8013186E |
Instruction cannot be verified. |
0x8013186F |
Operand does not point to a valid string ref. |
0x80131870 |
Return type is BYREF, TypedReference, ArgHandle, or ArgIterator. |
0x80131871 |
Stack must be empty on return from a void function. |
0x80131872 |
Return value missing on the stack. |
0x80131873 |
Stack must contain only the return value. |
0x80131874 |
Return uninitialized data. |
0x80131875 |
Illegal array access. |
0x80131876 |
Store non-Object type into Object array. |
0x80131877 |
Expected single dimension array. |
0x80131878 |
Expected single dimension array of pointer types. |
0x80131879 |
Array field access is denied. |
0x8013187A |
Allowed only in vararg methods. |
0x8013187B |
Value type expected. |
0x8013187C |
Method is not visible. |
0x8013187D |
Field is not visible. |
0x8013187E |
Item is unusable at this point. |
0x8013187F |
Expected static field. |
0x80131880 |
Expected non-static field. |
0x80131881 |
Address-of not allowed for this item. |
0x80131882 |
Address-of not allowed for byref. |
0x80131883 |
Address-of not allowed for literal field. |
0x80131884 |
Cannot change initonly field outside its ctor. |
0x80131885 |
Cannot throw this object. |
0x80131886 |
Callvirt on a value type method. |
0x80131887 |
Call signature mismatch. |
0x80131888 |
Static function expected. |
0x80131889 |
Ctor expected. |
0x8013188A |
Cannot use callvirt on ctor. |
0x8013188B |
Only super::ctor or typeof(this)::ctor allowed here. |
0x8013188C |
Possible call to ctor more than once. |
0x8013188D |
Unrecognized signature. |
0x8013188E |
Cannot resolve Array type. |
0x8013188F |
Array of ELEMENT_TYPE_PTR. |
0x80131890 |
Array of ELEMENT_TYPE_BYREF or ELEMENT_TYPE_TYPEDBYREF. |
0x80131891 |
ELEMENT_TYPE_PTR cannot be verified. |
0x80131892 |
Unexpected vararg. |
0x80131893 |
Unexpected Void. |
0x80131894 |
BYREF of BYREF |
0x80131896 |
Code size is zero. |
0x80131897 |
Unrecognized use of vararg. |
0x80131898 |
Missing call/callvirt/calli. |
0x80131899 |
Cannot pass byref to a tail call. |
0x8013189A |
Missing ret. |
0x8013189B |
Void ret type expected for tail call. |
0x8013189C |
Tail call return type not compatible. |
0x8013189D |
Stack not empty after tail call. |
0x8013189E |
Method ends in the middle of an instruction. |
0x8013189F |
Branch out of the method. |
0x801318A0 |
Finally handler blocks overlap. |
0x801318A1 |
Lexical nesting. |
0x801318A2 |
Missing ldsfld/stsfld/ldind/stind/ldfld/stfld/ldobj/stobj/initblk/cpblk. |
0x801318A3 |
Missing ldind/stind/ldfld/stfld/ldobj/stobj/initblk/cpblk. |
0x801318A4 |
Innermost exception blocks should be declared first. |
0x801318A5 |
Call not allowed on virtual methods. |
0x801318A6 |
Call not allowed on abstract methods. |
0x801318A7 |
Unexpected array type on the stack. |
0x801318A9 |
Attempt to enter a try block with nonempty stack. |
0x801318AA |
Unrecognized arguments for delegate ctor. |
0x801318AB |
Delegate ctor not allowed at the start of a basic block when the function pointer argument is a virtual method. |
0x801318AC |
Dup, ldvirtftn, newobj delegate::.ctor() pattern expected (in the same basic block). |
0x801318AD |
Ldftn/ldvirtftn instruction required before call to a delegate ctor. |
0x801318AE |
Attempt to load address of an abstract method. |
0x801318AF |
ELEMENT_TYPE_CLASS ValueClass in signature. |
0x801318B0 |
ELEMENT_TYPE_VALUETYPE non-ValueClass in signature. |
0x801318B1 |
Box operation on TypedReference, ArgHandle, or ArgIterator. |
0x801318B2 |
Byref of TypedReference, ArgHandle, or ArgIterator. |
0x801318B3 |
Array of TypedReference, ArgHandle, or ArgIterator. |
0x801318B4 |
Stack not empty when leaving an exception filter. |
0x801318B5 |
Unrecognized delegate ctor signature; expected I. |
0x801318B6 |
Unrecognized delegate ctor signature; expected Object. |
0x801318B7 |
Mkrefany on TypedReference, ArgHandle, or ArgIterator. |
0x801318B8 |
Value type not allowed as catch type. |
0x801318B9 |
ByRef not allowed as catch type. |
0x801318BA |
Filter block should immediately precede handler block. |
0x801318BB |
ldvirtftn on static. |
0x801318BC |
callvirt on static. |
0x801318BD |
initlocals must be set for verifiable methods with one or more local variables. |
0x801318BE |
Branch/leave to the beginning of a catch/filter handler. |
0x801318BF |
Call to .ctor only allowed to initialize this pointer from within a .ctor. Try newobj. |
0x801318C0 |
Value type, ObjRef type or variable type expected. |
0x801318C1 |
Expected address of value type, ObjRef type or variable type on the stack. |
0x801318C2 |
Unrecognized type parameter of enclosing class. |
0x801318C3 |
Unrecognized type parameter of enclosing method. |
0x801318C4 |
Unrecognized type argument of referenced class instantiation. |
0x801318C5 |
Unrecognized type argument of referenced method instantiation. |
0x801318C6 |
Cannot resolve generic type. |
0x801318C7 |
Method instantiation contains non boxable type arguments. |
0x801318C8 |
Method parent instantiation contains non boxable type arguments. |
0x801318C9 |
Field parent instantiation contains non boxable type arguments. |
0x801318CA |
Unrecognized calling convention for an instantiated generic method. |
0x801318CB |
Unrecognized generic method in method instantiation. |
0x801318CC |
Missing ldelema or call following readonly prefix. |
0x801318CD |
Missing callvirt following constrained prefix. |
0x801318CE |
Method parent has circular class type parameter constraints. |
0x801318CF |
Method has circular method type parameter constraints. |
0x801318D0 |
Method instantiation has unsatisfied method type parameter constraints. |
0x801318D1 |
Method parent instantiation has unsatisfied class type parameter constraints. |
0x801318D2 |
Field parent instantiation has unsatisfied class type parameter constraints. |
0x801318D3 |
Type operand of box instruction has unsatisfied class type parameter constraints. |
0x801318D4 |
The ‘this’ argument to a constrained call must have ByRef type. |
0x801318D5 |
The operand to a constrained prefix instruction must be a type parameter. |
0x801318D6 |
The readonly prefix may only be applied to calls to array methods returning ByRefs. |
0x801318D7 |
Illegal write to readonly ByRef. |
0x801318D8 |
A readonly ByRef cannot be used with mkrefany. |
0x801318D9 |
Alignment specified for ‘unaligned’ prefix must be 1, 2, or 4. |
0x801318DA |
The tail.call (or calli or callvirt) instruction cannot be used to transfer control out of a try, filter, catch, or finally block. |
0x801318DB |
Stack height at all points must be determinable in a single forward scan of IL. |
0x801318DC |
Call to base type of valuetype. |
0x801318DD |
Cannot construct an instance of abstract class. |
0x801318DE |
Unmanaged pointers are not a verifiable type. |
0x801318DF |
Cannot LDFTN a non-final virtual method. |
0x801318E0 |
Accessing type with overlapping fields. |
0x801318E1 |
The ‘this’ parameter to the call must be the calling method’s ‘this’ parameter. |
0x801318E2 |
Expected I4 on the stack. |
0x801318F0 |
Unverifiable PE Header/native stub. |
0x801318F1 |
Unrecognized metadata, unable to verify IL. |
0x801318F2 |
Unrecognized appdomain pointer. |
0x801318F3 |
Type load failed. |
0x801318F4 |
Module load failed. |
18.118.30.253