Whether you're a curious user who likes to take things apart to see what makes apps tick or a .NET developer interested in finding a particular piece of information, you can use ILSpy to analyze software products designed with .NET Framework, closely inspect each component, and figure out what was used to originally assemble it.
Although there are many similar tools available out there, ILSpy is extremely easy to use as well as free and open-source. It requires no kind of installation, which means that it can be saved to your collection of portable apps, copied to a USB flash drive, and used on any PC without setup to browse and examine .NET assemblies.
Take a closer look at .NET assemblies with this tool
The main app window has a clear-cut layout and is split in two main panes: for exploring the tree of .NET assemblies and for getting a closer look at any selected item. It makes it possible to inspect DLL, EXE, and WINMD files (Windows Metadata). Data may be loaded from GAC, and Nuget packages can be opened too.
ILSpy is capable of rendering code in C#, IL, and IL with C#. For C#, you can choose from C# 1.0 / VS .NET to C# 7.2 / VS 2017. For instance, you can take a look at resources and references, view tables, and extract info to file.
Renders code in C#, IL, and IL with C#
Because the program is made for view-only purposes, it's not possible to make file modifications. On the other hand, you can take advantage of a search function when looking for types, members, methods, fields, properties, events, constants, or metadata tokens.
Several decompiler settings can be configured such as using variable names from debug symbols, removing dead and side effect free code, or expanding member definitions after decompilation. Furthermore, you can customize the font and allow multiple instances.
All aspects considered, IlSpy makes it as simple as possible to decompile .NET assemblies and see what makes software tick. Since it's open-source, developers can modify and use its code at will.