ILDasm.exe MSIL Disassembler


ildasm [options] file [options]


Disassembles modules and assemblies. The default is to display a GUI with a tree-style representation, but you can also specify an output file. See IL Debugging elsewhere in this chapter for an extended example that uses ILDasm.exe.


ildasm b.dll
ildasm b.dll /out=b.asm



Displays usage information and exits.


Combines /header, /bytes, and /tokens. Requires the /text or /out option.


Displays actual bytes (in hexadecimal) as comments amongst the MSIL.


Includes file header information. Requires the /text or /out option.


Disassembles only the specified class or member. Requires /text or /out option.


Displays references to line numbers from the original source code. To use this option, file must be compiled with /debug.


By default, ILDasm displays a progress bar while disassembling, even with /text. Use /nobar to suppress that progress bar.

/out :file

Displays output to a file instead of creating GUI.


Suppresses display of MSIL. Requires the /text or /out option.


Disassembles only public types (equivalent to /vis=pub).


Encloses all names in single quotes.


Displays exception handling clauses in raw form.


Displays original source code lines as comments.


Displays output to console instead of creating GUI.


Displays class and member metadata tokens.


Displays output in UNICODE. Requires the /text or /out option.


Displays output in UTF-8. Requires the /text or /out option.

/vis[ibility]= vis[+ vis...]

Restricts disassembly to types and members matching specified visibility. Available visibilities are PUB (public), PRI (private), FAM (family), ASM (assembly), FAA (family and assembly), FOA (family or assembly), and PSC (private scope).

See Also

Csc.exe, ILasm.exe

    Part II: Programming with the .NET Framework
    Part IV: API Quick Reference