-.NET:.NET Core Framework

ylbtech- framework -.NET:.NET Core
.NET Core is suitable for windows, free, open source framework for computer software and hosted linux macos operating system, is the first official version developed by Microsoft, cross-platform ( Windows , Mac OSX, Linux ) framework for application development capabilities (Application Framework), the future will support  FreeBSD  and Alpine platform, Microsoft is at the beginning of development on open-source software platform , it is often also used and existing open source .NET platform  Mono  comparison.
Because .NET Core's goal is to develop a cross-platform .NET platform, .NET Core will include the .NET Framework class library, but the difference is that .NET Framework .NET Core using packetized (Packages) management, application program only needs to obtain the required components, and .NET Framework installation of large-inclusive approach very different, but each package also separate line version (version line), applications no longer a mandatory requirement to follow the mainline.
The main objective of .NET Core project are :
Support or can transfer (port) to additional operating system platforms and chip architecture (that is, the next project will be taken x86 platform).
It has a compelling performance with high reliability.
Developers can quickly direct access to .NET Core development environment.
Build application in the case of productive intuition, the use of files, sample and NuGet components.
1. Back to top
1、
Software name: .net core
Developer: Microsoft
Software platform: Windows , Mac OSX, Linux
Software language: English
Function: RyuJIT, Core CLR, Core RT etc.
2、
2. Return to top
1、

core function

.NET Core is composed of many projects, in addition to the basic class library outside (Core FX), also includes the use of RyuJIT compiled operating platform Core CLR, compiler platform .NET Compiler Platform, using AOT compiler technology optimized to run package Core RT (.NET Core Runtime), as well as cross-platform compiler MSIL LLILC (LLVM-based MSIL compiler) and other projects.
At the same time, Microsoft also developed a platform docfx build technical documents, and files used in .NET Core website.
RyuJIT
RyuJIT is Microsoft's new development that is the compiler (Just-in-Time Compiler) , JIT to replace the existing .NET Framework and JIT64 ie compile, test report is based on Microsoft's published, RyuJIT performance over the previous generation the JIT upgrade about 25%, and supports SIMD (Single Instruction, Multiple the Data) technology. RyuJIT applies to both .NET Framework 4.6 Core and the .NET .
Core CLR
CLR functionality of .NET Framework Core CLR transplant, contains the core library mscorlib, runtime environment JIT compiler, garbage collector (GC) and other operating MSIL need.
Core RT
Core RT is AOT (Ahead-of-time) compilation mode-based core feature called Core RT within .NET Core, the UWP is called .NET Native.
Core RT will be converted at compile time in the construction period (non-operating period) the MSIL into platform native machine code, in order to obtain a shorter lead time (JIT compiler uses a runtime, so over time the boot), and memory usage reduction advantages. Core RT AOT use different technologies in different platforms:
  • Windows is used on the .NET Native.
  • Used on Mac OS and Linux are LLILC (supports JIT and AOT).
LLILC
LLILC (LLVM-based MSILCompiler, English pronunciation is "lilac") is a .NET Core on non-Windows platforms MSIL compiler  [5]  , Based on the ECMA-335 (Common Language Infrastructure) standards will MSIL compiled into native code to run for LLVM run operating systems such as Mac OSX and Linux operating systems.
LLILC supports JIT (realization of containing RyuJIT) and AOT (will start to support future) compilation method.
Roslyn
.NET Compiler Platform (item code Roslyn) is a .NET platform compiler architecture standardized platform, which provides program management tools (such as the Integrated Development Environment) quite a bit of information to help develop programming and management procedures structure the required functionality, such as type information, grammatical structure, reference links, semantics, compilers, automation, error reporting function and so on, as long as it follows the CLI standard programming language, you can use .NET compiler Platform to achieve a compiler, let the program management tools to achieve such as grammar tips, syntax auto-completion, syntax highlighting and other visualization capabilities.
.NET Compiler Platform can support .NET Framework 4.6 or later, .NET Core also native support.
 

Package Management

Main article: ASP.NET Core § Project System
.NET Core class library using NuGet package of architecture, applications only need to use dependencies block project.json join the specified reference package version, you can get the functionality of the package, with the previous .NET Framework provides large-inclusive The method is completely different. .NET Core Team has announced that 98 percent of the .NET Framework class library primarily transferred to .NET Core platform .
Project.json example, the following contents can be added directly to the reference .NET Standard Library (v1.0.0-rc2-23901) a.
 
 
{
    "version": "1.0.0-*",
    "compilationOptions": {
        "emitEntryPoint": true
    },
    "dependencies": {
        "NETStandard.Library": "1.0.0-rc2-23901"
     },
    "frameworks": {
        "netstandardapp1.5": {
            "imports": "dnxcore50"
        }
    }
}
.NET Standard Library is an umbrella-type NuGet Package, these libraries contained within the package:
  • Microsoft.DotNet.CoreHost
  • NETStandard.Platform
  • System.Collections.Concurrent
  • System.Linq
  • System.Runtime.Numerics
  • System.Text.RegularExpressions
NETStandard.Platform which is an umbrella-type package, the package contains the following libraries:
  • Microsoft.NETCore.Platforms
  • Microsoft.NETCore.Runtime
  • Microsoft.Win32.Primitives
  • System.AppContext
  • System.Collections
  • System.Diagnostics.Debug
  • System.Diagnostics.Tools
  • System.Diagnostics.Tracing
  • System.Globalization
  • System.Globalization.Calendars
  • System.IO
  • System.IO.FileSystem
  • System.IO.FileSystem.Primitives
  • System.Net.Primitives
  • System.Net.Sockets
  • System.Reflection
  • System.Reflection.Extensions
  • System.Reflection.Primitives
  • System.Reflection.TypeExtensions
  • System.Runtime
  • System.Runtime.Extensions
  • System.Runtime.Handles
  • System.Runtime.InteropServices
  • System.Runtime.InteropServices.RuntimeInformation
  • System.Text.Encoding
  • System.Text.Encoding.Extensions
  • System.Threading
  • System.Threading.Tasks
  • System.Threading.Timer
Developers only need to use NETStandard.Library will be able to add all the necessary .NET Core library reference, but if it does not need so many components that can be added only to a specific package, do not necessarily have to join NETStandard.Library.
 

Application Type

.NET Core-based cross-platform capabilities, and it does not highly correlated with the GUI API transplanted into the .NET Core, and therefore such as Windows Forms or Windows Presentation Foundation (WPF) does not migrate to .NET Core. .NET Core support console application (Console Application) and library (Class Library) type of project.
But Microsoft, in its Universal Windows Platform (UWP) Core development platform used the .NET , .NET Native and use technology to enhance the performance is very close to the speed of native code.
ASP.NET Core console application places its driver Kestrel Server hosting environment to support running ASP.NET Core program.
.NET CLI
.NET CLI (Command-Line Interface) command-line tool is built, the main tool operation and editing of .NET Core processing  [8]  There are several major actions:
instruction help
dotnet new Basic .NET projects to generate new content (including project.json, Program.cs and NuGet.config)
dotnet restore Reduction referenced NuGet package
dotnet build Build .NET project
dotnet publish Generate .NET project issuable (includes Runtime belongs)
dotnet run Now compile and run .NET project (exe type is more suitable for the project)
dotnet repl Guided interactive dialogue
dotnet pack The project outputs packets encapsulated into NuGet
 

relationship

.NET Core analogy often used to do with other platforms, especially its source .NET Framework and other similar nature of open-source platform Mono.
.NET Framework
According to Microsoft's help, .NET Core and the .NET Framework is a subset of the relationship (Subset) and superset (Superset) of, .NET Core will achieve a functional part of the .NET Framework (basically a free part of the user interface ), e.g. JIT (.NET Core use RyuJIT), garbage collector (GC) and the type (types and generic type comprising a base and the like) . Future .NET Framework and .NET Core will also be their own development, but they will also use each other's features, such as .NET Compiler Platform and RyuJIT technology.
Mono
Mono has been developed for a long time is another cross-platform open source version of .NET Framework, Microsoft basically no official membership, but dominated by the power of community, self-contained eco-system, also developed as Xamarin cross-platform so. NET mobile applications, .NET Core and Mono future relationship of cooperation, Mono will remain the maintenance and development of community strength, and .NET Core will be the official point of view of development, both sides will be carried out to enhance the function of each other together  .
The relationship with ASP.NET Core
.NET Core relationship with ASP.NET Core of fact, the beginning is not the master-slave relationship , the early development of ASP.NET Core (ASP.NET 5) .NET Core start has not yet begun, so ASP.NET Core has its own time to run of the tool, the beginning called Project K, later changed DNX (.NET Execution Environment), DNX itself has the ability to run can operate independently, do not rely on .NET Core run, but it will become .NET Core and phenomenon ASP.NET Core-headed carriage, after .NET Core matures, Microsoft also decided to give this integrated development of two separate product lines, DNX will also be a result of switching to .NET Core run-terminated development , DNX function by .NET Core's .NET CLI succeed and offer integrated version will be released at 1.0 RC2.
 

Supported operating systems

.NET Core version 1.0 will support the following operating systems:
Windows Client 7 SP1 ~ 10 x64, x86  
Windows Server R2 SP1~Windows Server 2016 x64, x86 Full-featured version, Server Core and Nano Server (Windows Server 2016 Only)
Debian 8.2 x64  
Red Hat Enterprise Linux 7.2 x64  
Fedora 23 x64  
Ubuntu 14.04 LTS, 16.04 LTS x64  
Linux Mint 17 x64  
OpenSUSE 13.2 x64  
Oracle Linux 7.1 x64  
CentOS 7.1 x64  
Mac OSX 10.11 (Skipper EI) x64
2、
3. Back to top
 
4. Top
 
5. Top
1、
2、
 
6. Back to top
 
warn Author: ylbtech
Source: http://ylbtech.cnblogs.com/
This article belongs to the author and blog Park total, welcome to reprint, but without the author's consent declared by this section must be retained, and given the original connection in the apparent position of the article page, otherwise We reserve the right to pursue legal responsibilities.

Guess you like

Origin www.cnblogs.com/storebook/p/11127119.html