4
votes

Previously .NET Native Toolchain was only available for Windows Store Apps and only for UWP applications. From what I've read about VS2017 with .NET Native 1.6 some or all of these restrictions may no longer to be in place but the information is a bit confusing, so:

  1. Can I now use .Net native toolchain for an existing C# Desktop (non-Windows Store) application with Visual Studio 2017 (or earlier)?
  2. Does the application have to use UWP or can it also be an existing WPF application?
  3. If it cannot be WPF, could I still create a .Net Native non-GUI assembly that can then be used by a regular JIT WPF application? I suppose I would need to make sure that no reflection is used in either direction but I rather doubt this would be possible at all.
1
Hmm, no. It is at 1.7 right now, they keep it updated to match the version they run on the Store servers. So you can get the .NET Native induced problems out of your program, the only reason it is available. It will probably happen some day but the CoreRT project needs a lot more progress to get there, it is still stuck on RyuJIT today. Definite no on WPF, you wouldn't use it even if it were possible. - Hans Passant
Hello an update: docs.microsoft.com/es-es/windows/msix/desktop/… .Net Native for .net framework - Carlos Rafael Ramirez

1 Answers

3
votes

Can I now use .Net native toolchain for an existing C# Desktop (non-Windows Store) application with Visual Studio 2017 (or earlier)?

No, .NET Native applies to UWP apps only.

2) Does the application have to use UWP or can it also be an existing WPF application?

It has to be a UWP app. WPF does not support .NET Native.

3) If it cannot be WPF, could I still create a .Net Native non-GUI assembly that can then be used by a regular JIT WPF application?

No. WPF requires the full .NET Framework with all that it entails.