What is IL code, CLR, CTS, CLS & JIT?

IL/MSIL/CIL- IL code is a CPU independent partially compiled code. It’s partially compiled because we do not know in what kind of environment .Net code will run and on runtime IL Code will compile to machine code using the environmental properties (CPU, OS, machine configuration etc).

ILDASM- this is tool provided by visual studio to view IL code. To run ILDASM we have to select option “Visual Studio Command Prompt” from “Visual Studio Tools” and type ildasm. It will open the ildasm tool where we can open any exe/dll.ildasm tool read the assembly by reflection and it is showing us various properties, methods which our assembly has. Here we can see IL code of any method/property by clicking on that


CLR- CLR is the heart of the .Net framework and it does 4 primary important things-

1. Garbage collection

2. CAS (Code Access Security)

3. CV (Code Verification)

4. IL to Native translation.


CTS- CTS ensure that data types defined in two different languages get compiled to a common data type. This is useful because there may be situations when we want code in one language to be called in other language.

we can see practical demonstration of CTS by creating same application in C# and VB.Net and then compare the IL code of both application. Here the datatype of both IL code is same.


CLS- CLS is a subset of CTS. CLS is a set of rules or guidelines. When any programming language adheres to these set of rules it can be consumed by any .Net language.CTS


JIT-JIT compiles the IL code to Machine code just before execution and then saves this transaction in memory.

One thought on “What is IL code, CLR, CTS, CLS & JIT?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s