Returned directory
Metadata and Verification
However, this "good suggestion" is just a suggestion. The preceding section provides information about which tables can be referenced from a column's determined type. This does not mean that you should reference all the tables that you can reference. In the table5-10The symbol types of some groups listed inCLRIn fact, the existing Release versions are more acceptable. For example,MemberrefparentGroup, which describesMemberrefThe parent table of the record, includingTypedefTable. However, this metadata is released.APINot acceptTypedefSymbolMemberrefAnd even if such metadata is released somehow, the loader will ignore it.
Metadata publishingAPIA very small amount of security is provided (most of them are trivial) until the metadata validity is involved. Metadata is an extremely complex system and hundreds of validity rules on text that need to be enforced.
advanced language compilers, such as VB. net or C # , metadata publishing provides an important level of protection because they prevent the exact metadata specification and release from Program members. This high-level language is replaced by concepts and is based on concepts, this is the responsibility of the compiler to convert the language concept into a metadata structure and IL Code is constructed, so a compiler can be built to publish valid structure and structure (okay, more or less .) On the other hand, ilasm , like other compilers, is a platform-oriented language that allows programmers to generate a large range of metadata structures and IL structures, only a small part represents a valid subset.
Considering this difficult situation, we need to rely on external validity and validation tools (speaking of effectiveness and verification are not repetitive exercises in terms of synonyms-inCLRIn terms of validity, it is often used in metadata.IlCode .) A tool like this isCLRItself. The loader relies on many validity tools to test metadata, especially those that can damage the system. ResponsibleJITThe execution of the subsystem during the compiler RuntimeIlCode verification. These projects are called "RunTime validity and verification ".
Peverify, An independent. NET Framework SDKProvides more thorough effectiveness and verification.PeverifyTwo independent subsystems are used,MdvalidatorAndIlverifier.MdvalidatorYou can alsoIlCalled in the anti-compiler.
you can find in the appendix peverify and IL Anti-compiler information. The subsequent sections discuss various validity rules along with the relevant metadata structure and the IL structure.