-
Notifications
You must be signed in to change notification settings - Fork 223
MetadataProcessor
#MetadataProcessor The MetadataProcessor has multiple roles:
- Convert the ECMA specified CIL metadata format into a form that is more compact and suitable for direct execution
- Generating interop code template for native calls
- Packing together multiple assemblies
- Computing a delta between assemblies
- Handling of localization for resources
- Singing and key generation operations
- Other miscellaneous tasks...
The size of that list means MetadataProcessor id a central element of the build process for .NET Micro Framework making it a bit of a Swiss Army Knife of a tool. (Future work may consider splitting this out to multiple individual tools for easier maintenance and flexibility)
##Command Line Options
####-loadHints <assembly> <file>
Loads a specific file as a dependency
<assembly> = Name of the assembly to process
<file> = File path for the assembly
####-ignoreAssembly <assembly>
Do not include an assembly in the dependencies
<assembly> = Assembly to ignore
####-parse <file> Parse and analyzes a .NET assembly stored as metadata in a Windows PE/COFF binary
####-cfg <file> Loads command line options from a file (when command line lengths are limited or easier to read logging is desired)
####-noBitmapCompression Turns off compression of bitmaps
####-verboseMinimize Turns on verbose level for the minimization phase
####-noByteCode Skips any ByteCode present in the assembly
####-noAttributes Skips any attribute in the assembly
####-excludeClassByName <class> Removes the class from an assembly (e.g. filters a specific class out of the generated NETMF PE file)
####-minimize Minimizes the assembly removing unwanted elements
####-compile <file> Compiles a .NET Assembly file into the NETMF PE format
####-load <file> Loads a NETMF PE format assembly
####-loadDatabase <file> Loads a set of assemblies packed into a single image file (created with the -createDatabase option)
####-dump_all <file> Generate a report of an assembly's metadata
####-dump_exports <file> Generates a report of an assembly's metadata in a more readable format
####-refresh_assembly <name> <output> Recomputes the CRCs for an assembly
####-resolve Tries to resolve cross-assembly references
####-generate_dependency <file> Generates an XML file with the relationship between assemblies
####-create_database <config> <file>
Creates a bundle of NETMF formatted PE assemblies suitable for placement in ROM/FLASH (a.k.a. a DAT file)
<config> = file containing list of assemblies to include in the bundle
<file> = Output file for the database
##Interop Skeleton Code Generation
####-generate_skeleton <file> <name> <project>
Generates a skeleton for the methods implemented in native code
<file> = Prefix name for the files
<name> = Name of the assembly
<project> = Identifier for the library
##String Table Options ####-saveStrings <file> Saves strings table to a file
####-loadStrings <file> Loads strings table from a file
####-generateStringsTable <file> Writes the collected database of strings to a file
##Localization Options ####-exportLoc <file> ####-importLoc <file> ####-importLanguages <langs>
##Obsoleted Commands (Do not use) The following command line options to MetadataProcessor are considered obsolete and should not be used as they will likely be removed when MetadataProcessor is split to multiple tools. ####-patchReboot ####-patchNative <file> ####-diff <oldAssembly> <newAssembly> <patch> ####-diffHex <oldAssembly> <newAssembly> <patch>