the_endian
the_endian

Reputation: 2537

Is it possible to use .NET Native without UWP?

Can a C#/.NET application be compiled to native binaries using .NET Native without being a UWP application? For example, a 4.5 console app? I've watched over 2 hours of video on .NET Native and also read docs but they did not clearly answer this question.

Upvotes: 23

Views: 8490

Answers (1)

Alsein
Alsein

Reputation: 4775

There are not a perfect solution for this but serveral alternatives:

  1. Native AOT, formerly called 'Core RT', which supports full native compilation from managed dlls to binary executables on the target platform(OS and CPU Arch), but it is still marked as 'experimental' (Update: merged into the mainline since .NET 7 preview, referring to the official docs) with a lot of features missing.

  2. IL2CPP, which is developed and used only by Unity.

  3. CrossGen, which is a part of CoreCLR and could generate .ni.dll files which contains precompiled (native code on specific platform) code rather than IL code in normal managed dll, making it faster loading. But it still requires the runtime because it is basically still a managed dll with JIT compilation already done (AOT).

Note that .NET Framework is going to be obsolete with .NET Core becoming the unified .NET, and you can easily hear from some news about native compilation support if you keep watching .NET Core things

Upvotes: 7

Related Questions