What is an IL code?
It’s a CPU independent partially compiled code.
What is an Assembly?
Assembly is unit of deployment like EXE or a DLL.
What is a CLR?
CLR (Common language run time) is the heart of.NET framework and it does 4 primary important things:-
- CAS (Code Access security)
- IL to Native translation.
What is a garbage collector?
Garbage collector is a feature of CLR which cleans unused managed (it does not clean unmanaged objects) objects and reclaims memory. It’s a back ground thread which runs continuously and at specific intervals it checks if there are any unused objects whose memory can be claimed.
What is CTS?
In .NET there are lots of languages like C#, VB.NET, VF.NET etc. There can be situations when we want code in one language to be called in other language. In order to ensure smooth communication between these languages the most important thing is that they should have a common type system. CTS (Common types system) ensures that data types defined in two different languages get compiled to a common data type.
So “Integer” data type in VB6 and “int” data type in C++ will be converted to System.int32, which is data type of CTS.
What is a CLS (Common Language Specification)?
CLS is a subset of CTS. CLS is a specification or set of rules or guidelines. When any programming language adheres to these set of rules it can be consumed by any .NET language.
For instance one of the rule which makes your application CLS non-compliant is when you declare your methods members with same name and with only case differences in C#. You can try this create a simple class in C# with same name with only case differences and try to consume the same in VB.NET ,it will not work.
See following video on IL code, CLR, CTS, CAS: -