DNX The New .NET Execution Environment
Written by Mike James   
Tuesday, 12 May 2015

Sometimes it feels like we are back at the start of .NET and, instead of being a tried and trusted technology, everything has still to be implemented. So it is with DNX, the new all-purpose execution environment that includes platforms on which .NET didn't used to run. 


DNX, the .Net Execution Environment, is a new .NET SDK that is designed to allow development and execution across multiple platforms - WIndows, OSX, Linux, x86, x64 even across different .NET versions - .NET Framework, Mono and .NET Core. The idea is that not only do you use it in development, but you can build a single app that works across all of these platforms.

With DNX you have the following advantages:

  • Create a single application that can work on multiple operating without cross compiling (Windows, Mac, Linux).

  • Create applications that can run from source without a build step enabling development with just simple text editors (Sublime, Emacs, VIM, Visual Studio Code).

  • Enables debugging from source for referenced NuGet packages.

  • Straightforward acquisition of .NET runtimes (e.g. .NET Core).
  • Manage multiple .NET runtimes on a single machine both globally or app centric including security updates.

  • Supports ASP.NET 5 and .NET Core console app workloads.

The DNX system contains a number of components: the DNX distribution, a NuGet package which implements the environment; DNVM, a tool for manging DNX distributions;  DNU, a NuGet client for DNX; and dnx, a command line tool. 

You can use DNX to set up a .NET Core system for testing or development very quickly. For example, if you have a Linux machine you can acquire DNVM, get the runtime flavor you need, get the app's code, get any packages that are needed using DNU, and finally you can launch the app using dnx.

If you are a traditional Visual Studio Windows-targeting .NET programmer all of this is going to seem very strange. To have to resort to the command prompt to build an execution environment is strange, but having to do it at all is even stranger.

At the moment, there is a great deal to take into account when planning a future with .NET. We have Universal apps running under WinRT, the new Universal Platform Bridges bringing Android and iOS into the game, and the whole cross-platform open source effort. It is difficult to see what the .NET landscape will look like when even a few of these efforts come to fruition. For example, what is the value of .NET Core on so many platforms when it doesn't have a UI?

It is all a lot of fun and we certainly live in interesting times. But ... is it of any practical use?



Step CI - The API Quality Assurance Framework

Power up your API testing inside your CI workflow with Step CI, a free open-source tool that has also introduced a paid Support Plan.

.NET 8 Released

.NET 8 has been generally released. This is the latest long term support (LTS) version that will be supported for the next three years. Microsoft says the new version delivers improvements to the perf [ ... ]

More News





or email your comment to: comments@i-programmer.info


Last Updated ( Tuesday, 12 May 2015 )