【翻译+整理】.NET Core的介绍
.NET Core 是一个通用开发平台,它由微软和开源社区共同管理(git hub的.NET开源社区);
他支持Windows,macOS和Linux,并且可以运行在硬件设备中、云平台上和物联网嵌入式设备中;
.NET Core的主要标志性特征如下:
弹性部署:他可以运行在你的应用内部,也可以被部署在一个服务器群集上;
跨平台:他可以运行在Windows,macOS和Linux上;也可以移植到其他操作系统上;被支持的操作系统、CPU和应用场景,将会随着时间推移,越来越多;未来微软和其他公司、个人都会为此做出贡献;
命令行工具:所有的产品应用都可以在命令行工具下执行
兼容性:.NET Core通过.NET标准库(.NET Standard Library)实现兼容性,其兼容.NET Framework, Xamarin 和 Mono
开源:它基于MIT 和 Apache 2开源,文档遵从CC-BY规范;.NET Core是.NET基金会的一个项目;
微软支持:微软支持.NET Core,具体信息请查阅:https://www.microsoft.com/net/core/support/
.NET Core的主要组成部分如下:
.NET运行时(主要包括:类型系统、程序集加载、垃圾回收、原生程序的互操作接口、其他基础服务)
一批框架类库(主要包括:原始数据类型、应用组成类型、基础工具集)
SDK工具集和语言编译器(.NET Core SDK提供最基础的开发支持)
dotnet应用加载器(运行时选择器、运行时装载器、程序集加载规则、SDK工具装载器)
支持的语言如下:
可以用C# 和 F#来开发.NET Core的类库和应用;
Visual Basic也将得到支持,但目前还没有;
编译器直接运行在.NET Core 中;
这样你可以随时随地编译你的.NET Core程序;
(一般你不会直接使用.NET Core提供的编译器,你会直接使用SDK提供的工具来编译你的程序)
编译器可以很好的和多种不同的IDE或者文本编辑工具来结合;
比如:Visual Studio, Visual Studio Code, Sublime Text 和 Vim;
你可以到OmniSharp找到你想要的语言开发环境(注意OmniSharp是非微软官方支持的民间组织)
.NET API和兼容性:
.NET Core可以被理解为一个跨平台版本的.NET Framework,它处于.NET基础类库层(BCL)
它实现了.NET标准库的规范;它提供的API是.NET Framework的子集;
在某些情况下,并不是所有.NET Framework提供的类型都被.NET Core实现了;
想进一步了解.NET Core的路线图,可以看这里:https://github.com/dotnet/core/blob/master/roadmap.md
与.NET标准库(.NET Standard Library)的关系:
.NET标准库是一种API技术规格,
它约束所有.NET实现必须遵从此规格,
只要遵从此规格的.NET的实现,就可以互相兼容;
.NET Core是一种.NET标准库的实现;
工作内容:
.NET Core自带命令行工具,可以运行独立的命令行程序、基于命令行的本地服务、基于命令行的文本游戏;
在.NET Core之上已经建立了一部分扩展应用模块,比如:
Windows 10 Universal Windows Platform (UWP)
分发方式:
官方使用两种方式分发.NET Core,
一种方式是把.NET Core的分法包发布到NuGet.org上去;
一种方式是发布独立的安装包;
你可以通过VisualStudio等工具获取.NET Core
2017年春天将发布.NET Core2.0
【翻译+整理】.NET Core的介绍的更多相关文章
- 重新整理 .net core 实践篇————配置应用[一]
前言 本来想整理到<<重新整理.net core 计1400篇>>里面去,但是后来一想,整理 .net core 实践篇 是偏于实践,故而分开. 因为是重新整理,那么就从配置开 ...
- 重新整理 .net core 实践篇————依赖注入应用[二]
前言 这里介绍一下.net core的依赖注入框架,其中其代码原理在我的另一个整理<<重新整理 1400篇>>中已经写了,故而专门整理应用这一块. 以下只是个人整理,如有问题, ...
- Linux core 文件介绍
Linux core 文件介绍 http://www.cnblogs.com/dongzhiquan/archive/2012/01/20/2328355.html 1. core文件的简单介绍在一个 ...
- JavaScript 作用域和闭包——另一个角度:扩展你对作用域和闭包的认识【翻译+整理】
原文地址 --这篇文章有点意思,可以扩展你对作用域和闭包的认识. 本文内容 背景 作用域 闭包 臭名昭著的循环问题 自调用函数(匿名函数) 其他 我认为,尝试向别人解释 JavaScript 作用域和 ...
- [01]从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍
从零开始学 ASP.NET Core 与 EntityFramework Core 课程介绍 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新 ...
- 重新整理 .net core 实践篇————依赖注入应用之援军[四]
前言 介绍第三方依赖注入框架Autofac,看看为我们解决什么问题. 下面介绍4个点: 命名注册 属性注册 aop 注入 子容器命名 正文 为什么我们需要使用第三方框架?第三方框架为我们做了什么?第三 ...
- 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit[一]
前言 整理了一下.net core 一些常见的库的源码阅读,共32个库,记100余篇. 以下只是个人的源码阅读,如有错误或者思路不正确,望请指点. 正文 github 地址为: https://git ...
- 翻译 Asp.Net Core 2.2.0-preview1已经发布
Asp.Net Core 2.2.0-preview1已经发布 原文地址 ASP.NET Core 2.2.0-preview1 now available 今天我们很高兴地宣布,现在可以试用ASP. ...
- 图像处理框架 Core Image 介绍
这篇文章会为初学者介绍一下 Core Image,一个 OS X 和 iOS 的图像处理框架. 如果你想跟着本文中的代码学习,你可以在 GitHub 上下载示例工程.示例工程是一个 iOS 应用程序, ...
随机推荐
- ios基金会-XCode温馨提示
(一个)代号规格pragma mark 1.定义 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令. 不一定适用于其他编译器或其他环境.假设编译器不能识别该指令.则会将其忽略 ...
- c# 委托详解
1.委托声明 2.委托入门实例 namespace ConsoleApplication1 { public delegate void methodDelegate(string str); cla ...
- C语言两个libxml2库使用的问题
最近使用libxml2想做点东西,翻看一些example后还是有些疑问,去segmentfault问了下,感谢@pingjiang的热心解答,问题解决,记录如下 (一)如下是一个XML文件,p为根结点 ...
- 探秘IntelliJ IDEA 13中的版本控制——Subversion 1.8
IntelliJ IDEA 中引入的重要特性就是版本控制,而在IntelliJ IDEA 13中的体现便是支持最新的Subversion 1.8. 相对于之前版本对Subversion的支持,Subv ...
- JS字符串数字互转
JS是一种弱类型的脚本语言,为变量赋值是会自动转换为相应的类型,例如: var a = 1; alert(a + 1);//结果为2 自动识别为数字类型进行数学运算 var b = '1'; aler ...
- Yeoman入门之安装及环境配置
Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...
- 解决设置redmineblacklog的按钮无效问题
安装了redemin+backlog后,想要设置backlog, 先用管理员登录,然后访问网页: http://localhost/settings/plugin/redmine_backlogs 发 ...
- java class load
https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=403638649&idx=2&sn=4f17e8b58c64875 ...
- REST风格的服务
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[三]——Web Api入门 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.htm ...
- Shards
跟我一起云计算(5)——Shards 什么是sharding Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题.不太严格的 ...