【翻译+整理】.NET Core的介绍

简介: .NET Core 是一个通用开发平台,它由微软和开源社区共同管理(git hub的.NET开源社区); 他支持Windows,macOS和Linux,并且可以运行在硬件设备中、云平台上和物联网嵌入式设备中; .

.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之上已经建立了一部分扩展应用模块,比如:


分发方式:

官方使用两种方式分发.NET Core,

一种方式是把.NET Core的分法包发布到NuGet.org上去;

一种方式是发布独立的安装包;

你可以通过VisualStudio等工具获取.NET Core


2017年春天将发布.NET Core2.0












目录
相关文章
|
5天前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
28天前
|
开发框架 前端开发 中间件
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
|
28天前
|
开发框架 缓存 NoSQL
聊聊 ASP.NET Core 中间件(一):一个简单的中间件例子
聊聊 ASP.NET Core 中间件(一):一个简单的中间件例子
|
15天前
|
开发框架 监控 .NET
开发者的革新利器:ASP.NET Core实战指南,构建未来Web应用的高效之道
【8月更文挑战第28天】本文探讨了如何利用ASP.NET Core构建高效、可扩展的Web应用。ASP.NET Core是一个开源、跨平台的框架,具有依赖注入、配置管理等特性。文章详细介绍了项目结构规划、依赖注入配置、中间件使用及性能优化方法,并讨论了安全性、可扩展性以及容器化的重要性。通过这些技术要点,开发者能够快速构建出符合现代Web应用需求的应用程序。
28 0
|
15天前
|
缓存 数据库连接 API
Entity Framework Core——.NET 领域的 ORM 利器,深度剖析其最佳实践之路
【8月更文挑战第28天】在软件开发领域,高效的数据访问与管理至关重要。Entity Framework Core(EF Core)作为一款强大的对象关系映射(ORM)工具,在 .NET 开发中扮演着重要角色。本文通过在线书店应用案例,展示了 EF Core 的核心特性和优势。我们定义了 `Book` 实体类及其属性,并通过 `BookStoreContext` 数据库上下文配置了数据库连接。EF Core 提供了简洁的 API,支持数据的查询、插入、更新和删除操作。
35 0
|
19天前
|
开发框架 监控 .NET
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
【Azure 应用程序见解】在Docker中运行的ASP.NET Core应用如何开启Application Insights的Profiler Trace呢?
|
19天前
|
Linux C# C++
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
|
28天前
|
开发框架 .NET API
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
如何在 ASP.NET Core Web Api 项目中应用 NLog 写日志?
|
28天前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
|
28天前
|
开发框架 中间件 .NET
聊聊 ASP.NET Core 中间件(三):如何创建自己的中间件?
聊聊 ASP.NET Core 中间件(三):如何创建自己的中间件?