Currently when using DNX together with ASP.NET Core and .NET Core we can use DNVM to pick one version of DNX to use. Running dnvm list
we see that each version contains information about:
- The version of the runtime
- Which runtime we want to use (CLR or CoreCLR for example)
- The processor architecture
- The operating system
I have always viewed DNX as the piece of software which provides the interface between the underlying operating system and the virtual machine running the managed code. So in my understanding picking a DNX version was basically picking one interface which allows us to run a certain version of the virtual machine on a certain OS.
In the new .NET CLI, however, there is no more DNVM. In truth, looking at the getting started we see that we simply install the .NET CLI, we run dotnet new
, we run dotnet restore
and we simply are able to run our code with dotnet run
.
There's nothing about choosing a version of the runtime, in truth we don't even pick one and it all runs.
In that case, what happened to all those different versions of DNX we had previously? We do not need anymore to choose a specific runtime? If not, why is that the case? What is really behind this?
The runtime is part of a standard NuGet package going forward I believe.