Home  >  Article  >  Backend Development  >  Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

黄舟
黄舟Original
2017-03-09 15:08:122595browse

Detailed analysis of .NET Core and its relationship with .NET Framework (picture):

1. NET Frameworks

To understand .NET Core, there is It is necessary to understand the many Frameworks of the previous .NET platform. In 2002, Microsoft released the first .NET framework - .NET Framework. Soon after, it released .NET Compact Framework for use on smaller mobile devices (Windows mobile), and .NET Compact Framework also contains a It is similar to the .NET Framework system (Runtime, Framework, Application Model), which is a simplified Detailed analysis of .NET Core and its relationship with .NET Framework (picture) of the .NET Framework. Over the past few years, Microsoft has continuously launched several frameworks similar to the .NET Framework to run on different devices and platforms. Each Framework has a similar system but not exactly the same, so there are more and more Frameworks. For developers, different devices need to maintain multiple sets of codes even if they have the same functions, which increases the complexity of development.

.net 的框架

2. The arrival of .NET Core

Microsoft’s rethinking and improvement of these issues allowed .NET Core to emerge.

.NET Core is an open source modular Framework. Whether developing web or mobile devices, they all run under the same Framework (.NET Core), and .NET Core can also run on different operating systems. Running, including Windows, Linux, MacOS, achieving cross-platform and cross-device.

What’s even better is that .NET Core does not need to install the Framework in advance when publishing the program but downloads it through Nuget. In this way, there is no need to install a complex and huge Framework during the initial deployment, but it is downloaded on demand. This Nuget-based on-demand loading makes .NET Core cross-platform.

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

.NET Core composition system is as follows:

1. Runtime

There are two types of RunTime implemented in .NET Core, NativeRuntime and CoreCLR. NativeRuntime converts C# or VB.net code directly into native machine code. CoreCLR is an open source JIT runtime that compiles the code into an intermediate language (IL) and then converts it into machine code at final runtime.

 2. Unified BCL

Base Classlibrary is the basic class, such as FileSystem, Console, XML operations, etc.

 3. Windows Store AppModel & Detailed analysis of .NET Core and its relationship with .NET Framework (picture) Core 1.0

Provides a set of basic libraries for developing various touch screen devices and Detailed analysis of .NET Core and its relationship with .NET Framework (picture) programs for Windows systems.

3 The relationship between .NET Core and other .NET Frameworks

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

## 1 .NET Core & .NET Framework

.NET Core & .NET Framework are both implementations of NET Standard Library. One is cross-platform, and the other is unique to Windows. In addition to implementing NET Standard Library, .NET Core and .NET Framework both Each has its own unique implementation. .NET Standard Library is the key to cross-operating systems. It defines a set of interfaces, and each operating system has its own implementation. .NET Core can dynamically download the implementation of the current operating system through nuget, thus achieving cross-operating systems (cum sharing code across operating systems).

 .NET Core relies more on Nuget, allowing local applications to dynamically download required class libraries during deployment. The .NET Framework needs to be pre-installed in the system. In this way, the deployment of .NET Core is simpler, faster and lighter than the .NET Framework.

 2.NET Core & Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

As you can see from the picture above, Detailed analysis of .NET Core and its relationship with .NET Framework (picture) Core has two forms:

 Detailed analysis of .NET Core and its relationship with .NET Framework (picture) Core Web Application(.NET Core)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture) that depends on .NET Core can only call the API of .NET Core and can run on multiple operating systems. run.

(You can see the Reference Manager in the lower half of the picture below, there is no library in the .NET Framework in the assemblies)

 Detailed analysis of .NET Core and its relationship with .NET Framework (picture) Core Web Application (.NET Framework)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture), which relies on .NET Core & .NET Framework, can call the API of .NET Core & .NET Framework and can only run under Windows. (You can see the Reference Manager in the upper part of the figure below, which contains all the libraries in the .NET Framework in the assemblies)

Detailed analysis of .NET Core and its relationship with .NET Framework (picture)

 3 .NET Core & Mono

Mono is an implementation of the open source Detailed analysis of .NET Core and its relationship with .NET Framework (picture) of the .NET Framework. It is very similar to .NET Core in some features, such as open source and cross-operating systems. At present, .NET CORE will learn from Mono's experience and develop and eventually be able to run better on other operating systems besides Windows. In addition, Mone supports more App Models than .NET Core (such as Windows Forms).

Summary

Microsoft CEO Satya Nadella wisely decided to abandon PC-centricity, embrace various devices and platforms, and become a software services company. In order to achieve this vision, a new Microsoft ecological chain must be built, including Windows, Linux, OS X and other operating systems, covering processors such as X86/ARM and different devices (including PCs, Phones, holographic glasses and others). These show Microsoft's "ambition". With the official release of .NET Core taking a solid step forward, let us wait and see on June 27.

The above is the detailed content of Detailed analysis of .NET Core and its relationship with .NET Framework (picture). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn