4

I am upgrading a Win8 application to UWP. .NET Native is causing a huge amount of issues, and a lot of WCF features that the application uses aren't supported.

Is .NET Native required for UWP applications? Can I just disable .NET Native in the Release build? Apart from some potential .NET Native performance improvements, will I lose anything?

James Newton-King
  • 48,174
  • 24
  • 109
  • 130
  • 1
    The .NET Native in the release builds is so you can test it "periodically throughout development to make sure you identify and correct any issues that may come from the .NET Native compiler.", such as WCF issues. :-) The Store compiler "in the cloud" compiles with .NET Native before bringing an app down to someone's device. .appxupload contains the MSIL binaries. This is a good read: http://blogs.windows.com/buildingapps/2015/08/20/net-native-what-it-means-for-universal-windows-platform-uwp-developers/ – Igor Ralic Oct 06 '15 at 21:52
  • Can you share what the specific issues are? (Privately if you like - you can contact me via my blog on my profile page). Did you read the [Serialization topic on MSDN](https://msdn.microsoft.com/en-us/library/dn600638(v=vs.110).aspx)? – Peter Torr - MSFT Oct 08 '15 at 00:22

2 Answers2

0

The point is you are migrating to the .NETCore for the UWP, the subset of the .net framework, that leads to lots of your original codes can't fit into. Are you migrating from a winRT store application or full .net framework based desktop app? So far as I know the .NET CORE really cut-off lots of stuff from the Full. So if migrating from a Full .net desktop, that's really suffer.

Yaoqing
  • 283
  • 2
  • 3
0

.NET is supposed to increase performance, however it may create serious troubles, in some cases, e.g. if application extensively uses marshalling.

You can disable .NET native for Release in project properties.

Open Project Properties and select Build tab.

Set

Configuration: Release

Platform: All platforms

Untick box 'Compile with .NET native tool chain'

After you build the project, allow to run Certification Kit (WACK), and if is passes, take my congratulations. (I am not that lucky!)

cyanide
  • 3,885
  • 3
  • 25
  • 33