When RedGate Reflector was discontinued, I looked to building my own version of a .NET decompilation explorer.
Mirror targeted the Mono runtime, which I was using at the time for a primary .NET environment. It was built around Cecil, Mono’s own .NET CIL decompilation and reconstitution library, and had some fun tricks up its sleeves, such as the ability to handle some pretty gnarly MSIL.
I got Mirror to the point that I felt comfortable with it, but there was always more room to work. It wasn’t powerful, but it had the features I needed at the time for reverse engineering the common, run of the mill .NET executables for the purposes of learning how they work.