官术网_书友最值得收藏!

.NET Standard and .NET Native

As we saw previously, UWP using the .NET Framework utilizes .NET Standard. .NET Standard is used as the common BCL (base class library), while the Core Common Language Runtime (Core CLR) is responsible for executing the modules that are implemented by .NET Standard. Besides .NET Core and .NET Standard, another .NET concept is invaluable for Universal Windows Applications: .NET Native.

.NET Native provides a set of tools that are responsible for generating native code from .NET applications for UWP, bypassing the intermediate language. Using the .NET Native toolchain, .NET Standard class libraries, as well as the common language runtime infrastructure modules such as garbage collection, are linked to smaller, dynamic link libraries (similar to the Xamarin build process for iOS and Android).

In order to enable the native compilation, you need to enable the .NET Native tool chain for the current configuration (for example, Release x64), which will be used for preparing the appx package in the application, as well as the appx bundle that will need to be created for the supported architectures (ARM, x86, and x64):

During the linking process, several actions are executed:

  • Certain code paths that utilize reflection and metadata are replaced with static native code
  • Eliminates all metadata (where applicable)
  • Links out the unused third-party libraries, as well the .NET Framework class libraries
  • Replaces the full common language runtime with a refactored version that primarily includes the garbage collector

As a result, similar to .NET Core runtime applications (with a specified platform target), UWP applications can be cleaned up from direct dependencies to the .NET Framework by means of converting these dependencies into local references for the application itself. This, in turn, reflects on the application as performance and portability enhancements.

主站蜘蛛池模板: 纳雍县| 璧山县| 宝兴县| 吉安县| 肃北| 连云港市| 垦利县| 天等县| 宁武县| 凉城县| 宜兴市| 崇文区| 台东县| 正定县| 塔城市| 叶城县| 万山特区| 鄢陵县| 隆回县| 闸北区| 奇台县| 郎溪县| 汾阳市| 肃宁县| 巴东县| 弥渡县| 龙泉市| 满城县| 平原县| 类乌齐县| 禹州市| 大邑县| 中西区| 广饶县| 崇州市| 夹江县| 壤塘县| 西盟| 连平县| 常宁市| 东明县|