了解UWP IoT Core应用的Debug版本与Release版本之间的区别

时间:2018-08-21 01:44:20

标签: c# uwp windows-10-iot-core

我有一个针对Win 16299的UWP应用解决方案。其中有5个项目。 3个是测试项目,一个库和一个UWP应用。

在Debug中,构建过程不到20秒。

5>Time Elapsed 00:00:10.04
========== Rebuild All: 5 succeeded, 0 failed, 0 skipped ==========

在Release中,构建需要

5>Time Elapsed 00:04:01.13
========== Rebuild All: 5 succeeded, 0 failed, 0 skipped ==========

查看构建的详细输出,我可以看到它与“本机编译”有关,并且也许不足为奇,它需要进行更多的计算。

有哪些参考资料可以教育自己和更好地理解差异?

1 个答案:

答案 0 :(得分:4)

“调试”和“发布”版本之间的主要区别是在项目的“构建属性”选项卡中切换的“ 使用.NET Native工具链编译” Optimize 代码。

enter image description here

我在docs.microsoft.com上找到了这两篇文章:

  1. .NET Native and Compilation
  2. Compiling Apps with .NET Native

这篇文章也很有用:.NET Native – What it means for Universal Windows Platform (UWP) developers,引自本文。

  

.NET Native对我和我的应用有何影响?

     

您的行驶里程可能会有所不同,但是在大多数情况下,您的应用程序启动速度更快,性能更高并且消耗的系统资源更少。

     
      
  • 冷启动时间性能提高高达60%
  •   
  • 热启动时性能提升高达40%
  •   
  • 以本机方式编译时,可以减少应用程序的内存消耗
  •   
  • 不依赖于系统上安装的桌面.NET运行时
  •   
  • 由于您的应用是本地编译的,因此可以获得与本地代码相关的性能优势(请考虑C ++性能)
  •   
  • 您仍然可以利用行业领先的C#或VB编程语言以及与之关联的工具
  •   
  • 您可以继续使用.NET提供的全面而一致的编程模型,并使用丰富的API进行编写   业务逻辑,内置内存管理和异常处理。
  •