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

.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.

主站蜘蛛池模板: 岐山县| 金堂县| 堆龙德庆县| 南京市| 鹤庆县| 莎车县| 鲁甸县| 浦江县| 贵定县| 普兰店市| 苍南县| 榆树市| 南丹县| 洪泽县| 博乐市| 苏尼特左旗| 衡南县| 甘孜| 通榆县| 翁牛特旗| 宝清县| 五河县| 黄龙县| 白银市| 于田县| 华池县| 波密县| 西贡区| 木兰县| 特克斯县| 连山| 巴马| 湛江市| 莲花县| 永丰县| 奈曼旗| 汾西县| 罗山县| 杭锦旗| 台江县| 开远市|