1. Preface
. NET has been in circulation for 14 years now. As the version continues to iterate over the update. NET on the Windows platform is also getting better, and it can be said that all the application types on the Windows platform. NET can be done almost.
Just become also windows, defeated also Windows, which for 14 of years, in addition to part of the "folk" version. NET has not been able to get rid of the limitations of the Windows platform with official support, "open source" and "cross-platform" are all the two words. NET Developer's pain. Finally,. NET core emerged, which allows developers to go out of windows with official and community support, writing debugging and deploying. NET programs on Macos,linux mainstream distributions.
2. Introduction to. NET Core
what is 2.1. NET Core
. NET core is an open-source, common development framework that supports cross-platform development and deployment on systems such as Window,macos,linux, and can be used in hardware devices, cloud services, and embedded/IoT scenarios. The source of the. NET core is on GitHub , supported by Microsoft's official and community partners.
It is a "subset-superset" relationship with the traditional. NET Framework, or you can simply assume that it is a cross-platform version of the. NET Framework (as seen on the Bcl-based level). This is because in the current version (1.0), most of the core code in. NET core is inherited from the. NET Framework, including runtime and libraries (such as GC, JIT, partial types).
Spit Groove: Can only thank Microsoft "CLR via C #" Do not look white, I have seen a little half a year before reading
Now the. NET Core 1.0 release is a small core, and the APIs and tools are not complete, but as the. NET core continues to evolve, complementary APIs and innovations are integrated into the. NET Framework. That is,. NET core Microsoft updates the. NET Framework and. NET core at the same time, and they are like two brothers who work together to get rich. Of course it is. NET developers) to achieve the so-called World of Datong, which is. NET Standard 2.0
Here we have to mention a concept called. NET standard Library. As. NET Platform APIs development official support standard, it requires all the. NET Framework APIs follow backwards compatibility. For example,. NET Framwork 4.6 supports the. NET Standard library 1.3,.net framwork 4.6.2 Framework, which supports. NET Standards Library 1.5, while the. NET Core 1.0 Framework supports 1.6.
The final Outlook is as follows:
2.2. NET Core Composition
. NET Runtime
That is coreclr. As previously mentioned, CORECLR is no different from the CLR of the. NET framework, Process Management, Gc,jit (RyuJIT compiler) These parts are all the same, just for the server system to do the corresponding optimization. Now the CLR and CORECLR are also synchronizing updates, but to be sure, CORECLR is the future of. NET, and the CLR will exist as a means of compatibility.
Framework Libraries,
That is Corefx. Including collection classes, file system processing classes, XML processing classes, asynchronous task classes, etc.
SDK Tools and Language Compilers (SDK tool and compiler)
That is, the CLI tool and the Roslyn compiler. Available through the. NET core SDK (. NET core Development Kit).
Dotnet ' app host
Used to select and execute the corresponding runtime, provide component onboarding principles, and start the. NET core application. The SDK is also started by the same program.
Tips: Do you think of MSCorEE.dll this gasket, which also carries the work of choosing a CLR version of a. NET application on the Windows platform
2.3. NET Core Features
Cross-platform
Can be run on Windows,macos,linux
A flexible deployment mechanism
1.Portable Applications (Portable application)
This deployment mechanism is similar to the traditional. NET Framework, as long as there is a. NET Core runtime on the target platform.
2.self-contained Application (self-hosted application)
As the name implies, this deployment mechanism packages the application and runtime together, even if no. NET Core Runtime is installed on the target platform
The second approach is not the same as. NET native, still using CORECLR, while. NET native uses Corert as the runtime, see Dotnet/corert for more information
- Command-line tools
. NET program all run scripts can be executed with command-line tools (Cmd,bash) Here are a few common donnet commands
instruction |
Help |
dotnet New |
Generate new basic. NET Project content (including Project.json, Program.cs, and Nuget.config |
dotnet Restore |
Restore the referenced NuGet package |
dotnet Build |
Building a. NET project |
dotnet Publish |
Generate a redistributable. NET project (including the Runtime that belongs to) |
Dotnet Run |
Compile and run. NET projects immediately (more suitable for EXE projects) |
dotnet REPL |
Guide Interactive Conversations |
Dotnet Pack |
Package the output of a project into a NuGet package |
Compatibility
Compatible with. NET Framework,xamarin,mono through the. NET Standard library
Open source
. NET core belongs to the. NET Foundation and is officially supported by Microsoft. Using the MIT and Apache 2 Open source protocols, document protocols follow cc-by
2.4 Development Language
The programming languages supported in. NET Core 1.0 are in C # only (F # and VB are not implemented), and there is an open source language compiler, Roslyn, which compiles the code into our familiar Il language, which is then compiled by the AOT or JIT compiler into machine language that is familiar to machines.
NET Core Introduction