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


Rust And C++ Should Be Friends?
20/11/2024

The Rust Foundation has just released a statement on Rust and C++ interoperability and Google is ponying up $1 to see that it gets done.



C23 ISO Standard Is Here But You Probably Won't Read It
06/11/2024

At last ISO C23 has been published, but at $250 you probably aren't going to read it. Can we really tolerate this sort of profiteering on the work of others? This is worse than academic publishing!


More News

 

espbook

 

Comments




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

 

Last Updated ( Tuesday, 12 May 2015 )