.NET Native

from Wikipedia, the free encyclopedia

.NET Native is a toolchain , the most important component of which is an ahead-of-time compiler , and is part of Microsoft's .NET platform. The compiler is used to compile Windows Store Apps (UWP) that are programmed in C # or Visual Basic .NET . .NET Native is also classified as a runtime environment and as a component or supplement to .NET Core , but so far only supported for UWP apps.

As part of the original compilation system in the .NET Framework is code to compile-time , first in the intermediate code Common Intermediate Language and, starting from the runtime by just-in-time compilation in machine code compiled (See also: Common Language Runtime ) . In contrast to this, with .NET Native, the program code of UWP apps is additionally converted into machine code in advance, i.e. H. compiled into native code.

For the actual .NET Core (i.e. not UWP), however, an alternative runtime system for the ahead-of-time compilation in the corert repository has been under development for several years without approval (as of June 2019), which apparently remains experimental for the time being.

Another option for AOT compilation has been available for .NET Core since version 3.0 through so-called ready-to-run images. The JIT compilation is carried out in advance and the result, the (platform-specific) machine code, is saved together with the managed code in the assembly file.

history

The development of .NET Native was first announced by Microsoft in April 2014. A pre-release version of the compiler was included in Visual Studio 2013 Update 2. The first final version became available together with Visual Studio 2015.

commitment

Initially, the compiler could only be used for Windows applications that run on Windows 8.x based on Windows Runtime . It can now be used for applications that were developed for the Universal Windows Platform and Windows 10 . According to Microsoft, .NET Native improves the performance of UWP applications by up to 60 percent.

literature

Web links

Individual evidence

  1. mairaw: .NET Native and Compilation. Retrieved November 28, 2019 (German).
  2. This repo contains CoreRT, a .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain .: dotnet / corert. .NET Foundation, June 23, 2019, accessed June 23, 2019 .
  3. [Question] CoreRT future plans · Issue # 7200 · dotnet / corert. Retrieved June 23, 2019 .
  4. Matt Warren: CoreRT - A .NET Runtime for AOT. June 7, 2018, Retrieved June 23, 2019 (American English).
  5. Announcing .NET Core 3.0 Preview June 6 , 2019, accessed November 28, 2019 (American English).
  6. Mascha Schnellbacher: .NET Native and its importance for universal Windows platform developers , in : entwickler.de of August 21, 2015