摘要

  1. .NET Framework在过去十多年在跨平台上的尝试。

  2. .NET Core跨平台的实现有何不同?

  3. 基于 .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的微服务电商案例实践--学习笔记

.NET 社区 NB,2019 中国 .NET 开发者峰会

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

  1. .Net Core + 微信赋能企业级智能客服系统--学习笔记

    摘要 围绕目前需求猛增的微信及移动端企业智能客服业务,利用 .NET Core 的一系列优秀特性及 SignalR 模块打造全双工.跨微信/QQ/钉钉等应用平台.跨系统平台.跨终端.支持企业级并发的移 ...

  2. ​当我谈我的自行车时,我谈些什么

    几年前,我的自行车上坡时链条有时挂不住齿,人感觉就像脚下踏空.最近这个问题愈发严重,就连走平路也会经常出现.这不但严重影响了骑行体验,而且带来一定的安全隐患.这个故障是链条老化导致的,降档骑行已经不能 ...

  3. oracle查询时定义临时的变量,oracle学习笔记之临时变量的使用

    在oracle中临时变量可以用&|&&   name 的格式代表临时变量使用& 和使用&& 是有区别的 以下是一个不使用临时变量的查询语句: SQL&g ...

  4. .NET Core 在 K8S 上的开发实践--学习笔记

    摘要 本主题受众是架构师,开发人员,互联网企业 IT 运维人员.大纲:1. K8S 对应用的要求:2. .NET Core 上 K8S 的优势:3. K8S 下的 .NET Core 配置:4. .N ...

  5. 在.NET Core下的机器学习--学习笔记

    摘要 .NET Core 在机器学习的应用场景,除了 ML .NET 还会介绍一个非常棒的開源技術 TensorFlow .NET , Keras .NET. 讲师介绍 本课内容 人工智能介绍 ML ...

  6. .NET Core跨平台的奥秘[中篇]:复用之殇

    在<.NET Core跨平台的奥秘[上篇]:历史的枷锁>中我们谈到:由于.NET是建立在CLI这一标准的规范之上,所以它天生就具有了"跨平台"的基因.在微软发布了第一个 ...

  7. .NET Core跨平台的奥秘[上篇]:历史的枷锁

    微软推出的第一个版本的.NET Framework是一个面向Windows桌面和服务器的基础框架,在此之后,为此微软根据设备自身的需求对.NET Framework进行裁剪,不断推出了针对具体设备类型 ...

  8. 从一张图开始,谈一谈.NET Core和前后端技术的演进之路

    从一张图开始,谈一谈.NET Core和前后端技术的演进之路 邹溪源,李文强,来自长沙.NET技术社区 一张图 2019年3月10日,在长沙.NET 技术社区组织的技术沙龙<.NET Core和 ...

  9. ASP.NET Core跨平台技术内幕

    ASP.NET Core设计初衷是开源跨平台.高性能Web服务器,其中跨平台特性较早期ASP.NET是一个显著的飞跃,.NET现可以理直气壮与JAVA同台竞技,而ASP.NET Core的高性能特性更 ...

最新文章

  1. load、loads、dump、dumps的区别
  2. abs int 宏定义_在标准C中,预处理语句,特别是宏定义中,常常出现'#'和'##'符号,#字符串创建运算符#...
  3. e5cc温控仪通讯参数设定_自动化工程师:施耐德 PLC常见两种编程通讯控制实例,收好不谢...
  4. MySQL:数据库备份批处理脚本
  5. 如何加入github开源项目!
  6. loj #10001. 「一本通 1.1 例 2」种树
  7. 大学linux考试试题,大学《Linux操作系统》试题库及答案(20200903111009).pdf
  8. 纯前端html导出pdf(jsPDF.js)-分页-不分页
  9. Python求解二元二次函数梯度
  10. 学习方法论与相关建议
  11. Mysql基础篇(2)—— 单行函数和聚合函数
  12. 电子烟创业大军,都去卖酒了
  13. LibreCAD for windows 编译
  14. SAP 公司间销售配置原理和步骤
  15. incident用法_“我出事故了”书到用时方恨少,事故用“incident”还是“accident”?...
  16. 学习python用哪个app-python做app用什么工具
  17. 91系列,竟然还在更新……
  18. 华为M2 无法写入外置sd卡 文件
  19. p图你还在用ps么 程序员该怎么P图
  20. 360软件部署在内部网中的方法

热门文章

  1. 关于Windows® API Code Pack for Microsoft® .NET Framework
  2. Linux 环境变量 $PATH
  3. 扩展Windows Mobile模拟器存储空间的方法
  4. Teams AppId, InstallationId 和 ExternalId 的区别
  5. 在pom.xml中配置nexus上传地址
  6. uAdmin the Golang Web framework
  7. iOS 玩转CocoaPods
  8. spring boot aop 记录方法执行时间
  9. java.net.sockettimeoutexception read timed out
  10. 软件工程师,你的价值在哪里?