What is the difference between DNX and CLI?


I am seeing that there are new tooling for .Net Core 5, the first one is DNX supported by asp.net (https://github.com/aspnet/DNX) and the second is CLI supported by dotNetFoundation (https://github.com/dotnet/cli)

What is the purpose of each one?, why do we have two ways of restore packages and running the apps?


It seems that cli will replace dnx.


Yes. That document is intended to provide a high-level explanation of what is happening and why. I’d appreciate any feedback on that to make it clearer and answer more questions (I wrote it).

The base idea is that DNX was built to be broadly useful, but was solely reliant on ASP.NET 5 scenarios to provide requirements. As we brought on more console scenarios + native compilation, we found that we needed something different. To a large degree, we’re just re-factoring DNX as opposed to ‘replacing it’ outright. You might wonder, then, why we are renaming it. We’re not really renaming it, but removing the name altogether. CLI needed a name for the repo and to talk about it directly, but we think of it as just part of .NET Core and not a ‘thing’ on its own.

.NET Foundation Website | Blog | Projects | Code of Conduct