写点什么

.Net Core 及.Net Standard 主要概念回顾

  • 2016-10-09
  • 本文字数:1188 字

    阅读完需:约 4 分钟

在.Net Core 之前,选择编译目标是一个相对简单的操作。现在,开发人员面临多种可能,选择一个目标不再那么显而易见了。要想对.Net Core 有一个全面的了解,就要了解两个主要的概念:“目标框架别名(Target Framework Moniker)”和.Net Standard。

目标框架别名(TFM)

目标框架别名是.NET Core 中应用程序所针对的框架类型 + 版本号的 ID。我们可以把别名分成两个不同的类型:跨平台的目标.Net Standard 和平台实现,如.Net 4.6、.Net Core 1.0 和 Xamarin。

.Net Standard

.Net Standard 库是.Net Core 可移植性的核心。其目的是定义标准的 API 集。这些 API,如集合、线程、反射,是由.Net Core、.Net 4.5、Xamarin 和 Mono 等平台实现的。它们是开发人员用来构建自己的库和应用程序的基本构建块。

从 1.0 到 2.0,.Net Standard 的每个版本都定义了一组特定的库。下面的代码直观地展示了标准库和平台之间的关系

复制代码
interface INetStandard10
{
void Primitives();
void Reflection();
void Tasks();
void Collections();
void Linq();
}
interface INetStandard11 : INetStandard10
{
void ConcurrentCollections();
void InteropServices();
}
interface INetFramework45 : INetStandard11
{
// 特定于平台的 API
void AppDomain();
void Xml();
void Drawing();
void SystemWeb();
void WPF();
void WindowsForms();
void WCF();
}

CoreFx GitHub 库提供了所有 API 的列表及其相关的 netstandard 版本。

框架 / 运行时别名

除 netstandard 之外的别名是可以让应用程序在其中运行的、实际的运行时环境。对于新应用程序,常用的别名如下:

  • .NET Core - netcoreapp
  • .NET Framework - net
  • Universal Windows Platform - uap
  • Xamarin IOs - xamarinios
  • Mono Android - monoandroid

下面是一个简单的平台选择指南:

应用开发人员:编码应以 netcoreapp1.0、uap10.0、net452、xamarinios 等 TFM 为目标平台;

包 / 库作者:尽量以 netstandard 的最低版本为目标,那样可以在所有支持那个 netstandard 版本以及更高版本的平台上运行。

.Net Core 和 netcoreapp1.0 比较

虽然表面上看起来相似,但.Net Core 和 netcoreapp1.0 的意思完全不同。.Net Core 这个叫法中没有版本号,通常用于描述实现.Net 模块化、解决多个平台之间二进制兼容性问题的总体方案。但是,netcoreapp1.0 有更具体的意义。它是可以在 Windows、Mac OS 和 Linux 上运行的跨平台运行时的别名。简而言之,.Net Core 既可以指跨平台的方案,也可以指跨平台的运行时,这要视情况而定。

关于这一点,一个具体的应用场景是从 Asp.Net 迁移到 Asp.Net Core 时依赖项不支持.Net Core 的问题。如果只是想以.Net Framework 为目标平台,则这种迁移是可能的。例如,这让你可以使用Asp.Net Core,但仍然以.Net 4.6 为目标平台

查看英文原文 Reviewing Key Concepts in .Net Core and .Net Standard

2016-10-09 19:004077
用户头像

发布了 1008 篇内容, 共 401.5 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

让小程序开发稳步快跑,这款轻量应用服务器凭实力说话

轶天下事

快速从入门到精通,华为云耀云服务器L实例让小程序开发更简单

平平无奇爱好科技

“云”端赛马 “算”出未来丨华为云轻量应用服务器助力企业换道超车

平平无奇爱好科技

2. 商品那些模型

Joy

5. IM系统

Joy

WorkPlus即时通讯软件,以自主安全为底座,连接工作的一切

BeeWorks

阿里云太“氪金”?试试华为云超高性价比轻量应用服务器

平平无奇爱好科技

FFA 2023 「流式湖仓」专场:从技术原理到应用实践打造流式湖仓新架构

Apache Flink

大数据 flink 实时计算

1. 商品CPV模型

Joy

3. 跨境卖全球框架

Joy

6. 账号系统

Joy

服务器的操作系统有哪些?

Geek_f19a80

服务器

流量为王时代,华为云耀云服务器L实例让网站建设不焦虑

轶天下事

钱少事少效率高,华为云这款轻量应用服务器真乃职场神器

轶天下事

超强新品叠加价格特惠,华为云助力小程序开发红海“掘金”

轶天下事

老板抱怨网站投入没效果?掌握这份运营秘诀效果直接起飞

轶天下事

企业建站服务器选“懵逼”了?照着华为云的思路买准没错!

平平无奇爱好科技

独家丨小程序开发支出明细,快Get华为云低成本高效率开发秘诀!

平平无奇爱好科技

感恩有你|恭喜 OpenTiny Vue 开源组件库喜迎1000+star!!!

OpenTiny社区

开源 前端 UI组件库

遥遥领先!TinyEngine 低代码引擎更新升级!

OpenTiny社区

开源 前端 低代码

LED面板显示屏驱动芯片

芯动大师

跨境电商独立站太烧钱?中小企业老板快收藏华为云这份省钱秘笈

轶天下事

拒绝成为“时代的眼泪”,华为云这款服务器赋能企业高效转型

轶天下事

小程序创业是伪命题?华为云耀云服务器L实例铺开初创企业发展新蓝图

平平无奇爱好科技

4. 爬虫系统

Joy

爬虫实战

FFA 2023 「行业实践」专场: 金融/电力/汽车/互联网等多行业最佳实践

Apache Flink

flink

商场如战场!华为云助力企业打赢云服务器之战

平平无奇爱好科技

真香定律再现!中小企业数字化逃不过华为云轻量应用服务器

平平无奇爱好科技

SQL 中的运算符与别名:使用示例和语法详解

小万哥

MySQL 数据库 程序员 sql 后端开发

大量索引场景下 Easysearch 和 Elasticsearch 的吞吐量差异

极限实验室

数据库 搜索引擎 elasticsearch 吞吐量 easysearch

7. 电商全球化架构

Joy

.Net Core及.Net Standard主要概念回顾_.NET_Pierre-Luc Maheu_InfoQ精选文章