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


Call For Code 2024 Focuses On Generative AI
01/03/2024

This year's Call for Code challenge has been launched with a theme of the use of generative AI technology for solutions that aim to improve equitable access to resources and opportunities for historic [ ... ]



TypeScript 5.4 Adds NoInfer Type
12/03/2024

TypeScript 5.4 has been released, with the addition of a NoInfer utility type alongside preserved narrowing in closures following last assignments. 


More News

 

raspberry pi books

 

Comments




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

 

Last Updated ( Tuesday, 12 May 2015 )