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. 

net2

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?

net2

Banner


iOS 17.4 Released With Support For App Stores In The EU
06/03/2024

I have written about Apple's approach to complying with regulation, characterizing it as malicious compliance. It also seems that Apple is a master of creating the unintended consequence and letting i [ ... ]



SnapCode: A Java IDE for the Web
27/02/2024

Thanks to CheerpJ and WebAssembly you can now run a Java IDE inside your browser and local first.This is SnapCode, and while lightweight and in-browser, is to be not underestimated.


More News

 

raspberry pi books

 

Comments




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

 

Last Updated ( Tuesday, 12 May 2015 )