I want to know what exactly is the difference between CLR & CLI? From whatever I have read so far, it seems to indicate that CLI is a subset of CLR. But isn\'t everythin
CLR is the .net execution environment where all kind of .net applications are run.For instance, when you write your code with C# or another language from the dot NET stack the compiler compiles and converts it into managed module. A managed module is IL (intermediate language) and metadata.Above all, the important point to remember is that whenever you compile your source code, the compiler translates it into managed module. To clarify, this is not a machine code that your processor will execute.In fact, IL is an intermediate language close to assembly language.Similarly, it is also famous as object orientated machine language.
Check this article about more detailed explanation:
http://alevryustemov.com/programming/common-language-runtime/