当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记

摘要
- .NET Framework在过去十多年在跨平台上的尝试。
- .NET Core跨平台的实现有何不同?
- 基于 .NET Standard的平台兼容性是如何实现的?
讲师介绍

历史枷锁
.NET Framework = FCL + CLR

"跨平台"的 .NET Framework

完全独立,各自为政

复用之殇
由于完全独立,各自为政,导致复用困难,以下是两种解决方案
源代码复用

程序集复用


问题一:程序集不一致

通过 Retargetable Assembly 解决

问题二:跨程序集类型转移

通过类型转移机制解决(通过 dll 告诉运行时发生类型转移)

全新布局
.NET Core 层次结构

大一统的 .NET

.NET Standard

为什么 .NET Standard 能够做到应用程序跨平台
.NET Standard 是一个程序集,定义了 API,但是没有实现,唯一的目的是把应用中定义的类型可以自动转移到对应平台的 dll 中,使用复用之殇中所讲的机制。
类型转移 Demo


展望未来

视频链接
相关文章
.Net Core + 微信赋能企业级智能客服系统--学习笔记
用ASP.NET Core构建可检测的高可用服务--学习笔记
ASP.NET Core基于K8S的微服务电商案例实践--学习笔记


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记的更多相关文章
- .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
1..Net Core的目的是跨平台,并主要目标是作为服务端开发使用.从3.0开始,引入了Winfrom和WPF. 2..Net Core可以引用.Net Framework生成的dll和exe,不限 ...
- .NET Core跨平台的奥秘[上篇]:历史的枷锁
微软推出的第一个版本的.NET Framework是一个面向Windows桌面和服务器的基础框架,在此之后,为此微软根据设备自身的需求对.NET Framework进行裁剪,不断推出了针对具体设备类型 ...
- 从一张图开始,谈一谈.NET Core和前后端技术的演进之路
从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...
- .NET Core跨平台的奥秘[中篇]:复用之殇
在<.NET Core跨平台的奥秘[上篇]:历史的枷锁>中我们谈到:由于.NET是建立在CLI这一标准的规范之上,所以它天生就具有了"跨平台"的基因.在微软发布了第一个 ...
- .NET Core跨平台的奥秘[下篇]:全新的布局
从本质上讲,按照CLI规范设计的.NET从其出生的那一刻就具有跨平台的基因,这与Java别无二致.由于采用了统一的中间语言,微软只需要针对不同的平台设计不同的虚拟机(运行时)就能弥合不同操作系统与处理 ...
- .NET Core跨平台部署
目录 .NET Core跨平台部署 1. Windows-IIS 1.1 安装.NET Core Windows Server Hosting 1.2 配置应用程序池 1.3 使用发布文件 2 Lin ...
- .Net Core跨平台应用研究-HelloDDNS(动态域名篇)
.Net Core跨平台应用研究-HelloDDNS -玩转DDNS 摘要 为解决自己搭建的内网服务器需要域名而因没有超级用户密码不能开启光猫内置DDNS功能的问题,自己动手,基于.net core, ...
- .Net Core跨平台应用研究-HelloArm(串口篇)
引言 为了验证采用dotnet core技术开发的物联网设备数据采集接入服务应用是否能在高性价比的linux嵌入式平台运行,针对dotnet core应用程序进行嵌入式linux环境的发布部署运行验证 ...
- 《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
<ASP.NET Core跨平台开发从入门到实战>样章节 Web API自定义格式化protobuf. 样章 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于 ...
- .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布
.Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...
随机推荐
- 多倍图切图cutterman
- Visual Studio2019 使用WCF服务
什么是WCF Windows Communication Foundation (WCF) 是一个框架,用于生成面向服务的应用程序.它取代了较旧的进程间通信技术,例如 ASMX Web 服务..NET ...
- 房贷LPR该如何选择
一.新政是否和你有关? 原文:是指2020年1月1日前金融机构已发放的和已签订合同但未发放的参考贷款基准利率定价的浮动利率贷款(不包括公积金个人住房贷款). 二.新政如何调整? 一种是按照LPR加 ...
- 数据-CRUD
CRUD Create 创建 Read 读取 Update 更新 Delete 删除 场景 只要存在数据结构概念,就必存在CRUD
- [转帖]七. PostgreSQL逻辑结构(1)—数据库和模式
https://www.jianshu.com/p/ee8b1bdfdb19 在PostgreSQL里,逻辑结构从高到底依次是:数据库.模式(又叫架构).表.行.当我们打开PostgreSQL官方自带 ...
- [转帖]TiDB Lightning 在数据迁移中的应用与错误处理实践
TiDB Lightning 在数据迁移中的应用与错误处理实践 作者简介:DBA,会点 MySQL,懂点 TiDB,Python. 个人主页:https://tidb.net/u/seiang/ans ...
- [转帖]kafka漏洞升级记录,基于SASL JAAS 配置和 SASL 协议,涉及版本3.4以下
攻击者可以使用基于 SASL JAAS 配置和 SASL 协议的任意 Kafka 客户端,在对 Kafka Connect worker 创建或修改连接器时,通过构造特殊的配置,进行 JNDI 注入. ...
- 【转帖】【奇技淫巧】Linux | 安全保障防火墙-iptables
虽然说Linux在安全方面确实相当于windows要更加可靠一些,但一般使用其作为服务器的我们,也不能大意,也是需要严格限制网络传输过程中的出入规则.上篇文章我们有聊到统计网络的信息,这篇文章来学习一 ...
- ChatGPT背后的AI背景、技术门道和商业应用(万字长文,建议收藏)
作者:京东科技 李俊兵 各位看官好,我是球神(江湖代号). 自去年11月30日ChatGPT问世以来,迅速爆火出圈. 起初我依然以为这是和当年Transformer, Bert一样的"热点& ...
- echarts轮训展示某个
//学校资产占比的配置 function schollAssets() { var myChart = window.$echarts.init( document.getElementById('s ...