CIL/IL is the intermediary language that is behind every .NET code you write. You might not know it, you might not be aware that it’s there but once you know it you will like it (or not :)). But to truly get to know it you need to have the tools to play with it.

If you don’t know much about IL, I’ve recorded an episode on a show called DevReview (sorry it’s in Polish :/) about Intermediate Language. If you haven’t listened to it – go check it now.

This can wait:
header-blog-520x245
Finished listening? Good – here we will extend some of the things that were mentioned in the podcast. Let’s start with the tools. You need to learn your tools as you will use them frequently. Have your toolbelt ready. Here are some tools that might come handy:

  • ildasm & ilasm – the must haves. Command Line tools that come with SDKa are bare minimum. Allows you to decompile dll/exe to IL and compile it back again. Few switches must be learnt by heart but not too many.
  • IlSpy, JustDecompile, Reflector, dotPeek, etc – 3rd party tools that allows you to show decompiled code. I wrote about them some time ago – click (sorry it’s in Polish again)
  • Resharper – yes, your beloved R# is also on the list. I don’t know when this feature was added (I do not upgrade regularly) but I’ve noticed that you can display IL for a given managed code inside VS. Quite a neat feature I must say.
    ilviewer
  • text editor – to program in IL all you need is a text editor – notepad is good, Notepad++ is even better. I use both: an extension to VS called IL Support and Sublime Text/Scite. Syntax is quite simple – editor is only needed to quickly record what you type.

Those are the basic tools – get to know them, master them. Next time we will show how to write some basic stuff in IL.