19
Studying a little about ASP.NET 5 I came across something I did not understand very well. To use it you need to install KVM (K Version Manager) and KPM (K Package Manager). KVM is responsible for managing versions of KRE (K Runtime Environment). In Powerhsell when using
kvm list
I have an answer more or less like this
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta1 CLR amd64 C:\Users\User\.kre\packages
1.0.0-beta1 CLR x86 C:\Users\User\.kre\packages default
1.0.0-beta1 CoreCLR amd64 C:\Users\User\.kre\packages
1.0.0-beta1 CoreCLR x86 C:\Users\User\.kre\packages
From what I understood then this KVM manages different versions of CLR. But the fact is that until today I do not understand very well what is Runtime. My understanding of CLR today is quite on top, I understand this: when developing an application using C# the compiler transforms the code into an intermediate language called CIL (Common Intermediate Language) and then CLR is responsible for interpreting this intermediate code.
Thus, although the C# code is compiled, the CLR still has to interpret an intermediate code. My understanding is that the "Runtime Environment" is the environment in which CLR interprets this intermediate code.
I don’t know if that’s it. So, what is this "Runtime Environment" really about? And why are there so many different versions now?