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

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

主站蜘蛛池模板: 紫阳县| 高密市| 永新县| 斗六市| 玛曲县| 仁布县| 田阳县| 加查县| 天门市| 洞头县| 拉萨市| 东乡县| 房山区| 乐都县| 柞水县| 凌云县| 鹤庆县| 涿州市| 广宗县| 盐城市| 新安县| 新龙县| 博乐市| 黄骅市| 凌源市| 双鸭山市| 广州市| 孟津县| 密云县| 延长县| 淳化县| 波密县| 策勒县| 巴中市| 左贡县| 五河县| 吉隆县| 榆树市| 连山| 永胜县| 民权县|