Agreed.
asmmeta.exe is like ildasm, but omits all the IL (just ret) and some privates, though sometimes privates are needed like for struct sizes.
The more general idea is that of a multi-pass build, which Microsoft has relied on heavily forever.
The stripped down ildasm output can be thought as as "header" file, in a system that does not really have them.
First visit each directory (with massive parallelism!) running ilasm.
Then visit each directory (again with massive parallelism) running csc.
After csc, in the same pass, run the like-ildasm tool, output back the original "headers".
Compare them. If there are any mismatches, the build is broken.
A developer failed to update the header.
It is too late to just patch it up, without restarting the build (perhaps with a proper dependency graph, most directories will not be affected).
This is also a way to upgrade versions easily.
The like-ilasm code can have names for version numbers.
Though this is really a minor outcome of a multi-pass build.
mscorlib
might not necessarily use the configuration or XML APIs, in which case less memory is devoted to storing the IL. – Decorate