【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

.NET Core 初探

  • 2014-12-10
  • 本文字数:1238 字

    阅读完需:约 4 分钟

微软在 connect()大会上宣布.NET Core 将开源。它将提供一个支持包括Windows、Linux 和Mac OSX 在内的所有平台的单一代码库。近日,微软项目经理Immo Landwerth 给出了更多关于.NET Core 是什么以及它将如何“为未来所有的.NET 平台奠定基础”的信息。

Immo 解释说,.NET 实际上是一系列框架,每个框架针对一个特定平台,而且归不同的微软团队所有,这在 API 和实现方面都不可避免地产生了差异。.NET Core 是.NET Framework 的一个新的分支,旨在为特定于平台的扩展提供一个共同的基础。每个扩展提供只能用于特定应用程序模型的 API,例如,面向.NET 本地应用程序的 WinRT 互操作扩展或者面向 ASP.NET 5 应用程序的 MVC。这个共同的层称为统一基类库(BCL),它位于一个包含.NET 运行时的薄层之上。

据 Immo 介绍,基类库在.NET 已经提供的可移植类库的基础上又迈进了一步。在.NET 中,PCL 只定义 API 外观,而实现仍然特定于每个平台,这样就产生了不同程度的实现不一致性。BCL 不仅提供一个跨所有支持平台的共同的 API,而且实际上也以统一的方式实现:“BCL 大部分是纯 MSIL 程序集,可以原样共享。”有趣地是,微软为那些只能用于特定平台的 API 选择的方法确保他们在所有平台上都可以工作:

比起回过头来努力在上层提供一个一致的 API 栈,要求每个拥有特定组件的团队思考他们的 API 如何跨所有平台工作要简单许多。那是因为可移植性不是可以后续提供的东西。

.NET Core 带来的另外一项有趣的变化是使用 NuGet 作为基本的交付系统。.NET Core 将会作为一个细粒度的包的集合交付,每个包对应一个程序集。同时,微软将提供.NET Core 分发包。本质上,它只是经过微软测试的、特定.NET 版本的所有包的快照副本,用于那些不需要额外的自由进行 NuGet 包混搭的场景。

Immo 介绍, NuGet 的使用以及向更加模块化的设计转变使“.NET Core 平台有可能转变成一种应用程序本地框架。”如此一来,每个应用程序将只需要部署框架中它需要的部分。这样做的主要好处是,当应用程序需要升级.NET Core 时,将不会破坏与其它现有应用程序的兼容性,而升级整台机器共享的.NET Framework 就会如此。

最后,Immo 明确指出,在 Visual Studio 2015 发布之前,.NET Core 将是.NET Framework 的一个纯子集。不过将来,.NET Core 的发布周期将会比.NET Framework 短,所以在有一些时间点上,一项功能将只在基于.NET Core 的平台上提供,直到.NET Framework 平台的版本赶上来。

有一点必须注意,.NET Core 目前并不支持桌面应用程序,后者将仍然使用.NET Framework,而且“没有计划提供一个跨平台的 UI 框架。”在回复其博文的一条评论时,Immo 写道,他们“绝对会在.NET Core 中提供 Console API”。因此,开发人员将可以用它编写控制台应用程序,虽然他并没有提供任何时间表。

读者可以在 NuGet 上浏览所有的.NET Core 包,它们用前缀“System.”或“Microsoft.”标识。源代码在 GitHub 上提供。要试用.NET Core,可以下载 Visual Studio 2015 预览版

查看英文原文: A First Look to .NET Core

2014-12-10 02:587978
用户头像

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

关注

评论

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

经期管理APP的开发解决方案

开源直播系统源码

软件开发

开发者能力大赏,谁是技术知识达人?

华为云开发者联盟

华为云

企业级Web应用系统权限设计

BigBang!

权限 权限架构 权限设计

易观分析《机器学习平台市场研究,2022》研究报告正式启动

易观分析

机器学习 AI软件

中国信通院、清华大学、腾讯安全,云原生安全产学研用强强联合!

腾讯安全云鼎实验室

云原生 云原生安全

盲盒APP开发新玩法,盲盒APP需具备的模块

WDL22119

盲盒商城 盲盒开发 盲盒APP开发 盲盒源码 盲盒H5开发

React Suspense 尝鲜,处理前后端IO异步操作

葡萄城技术团队

大前端 SpreadJS 表格控件 纯前端表格组件

盲盒APP开发:如何抓住消费者的心?

WDL22119

盲盒商城 盲盒APP开发 盲盒源码 盲盒H5开发 盲盒小程序

焱融科技加入多家行业协会与产业联盟,加速产业互联生态跃迁

焱融科技

NLP论文领读|合成数据的妙用:低成本构建高质量的大规模平行语料

澜舟孟子开源社区

人工智能 自然语言处理 数据挖掘 深度学习 nlp

ABAP BDC的执行模式和更新模式

桥下本有油菜花

abap

Java—线程池

武师叔

6月月更

在线办公时代,企业如何选择一款合适的文档管理系统

小炮

华为云云原生2.0全景图再升级,一切皆服务共创新价值

Geek_2d6073

敏捷需求管理篇|如何从0-1写好一个用户故事

云智慧AIOps社区

需求管理 编程效率 用户故事 敏捷管理 需求迭代

阻塞与非阻塞客户端

Damon

微服务 6月月更

JDBC连接MySQL数据库,访问数据库信息完成登录功能——保姆级详细教程(附所有java和jsp源代码)

写代码两年半

数据库 JDBC Java EE 6月月更

通过DAO的现状,看Web3最具影响力的基础设施M-DAO

鳄鱼视界

Windows域提权漏洞分析与复现

网络安全学海

网络安全 安全 渗透测试 WEB安全 漏洞挖掘

前后端的爱恨情仇

Liam

前端 后端 Postman 开发工具 swagger

web前端培训JS 运行机制的梳理

@零度

JavaScript 前端开发

不会乘法表怎么做乘法?这个远古的算法竟然可以!

博文视点Broadview

【堡垒机】常见的堡垒机部署模式有哪些?

行云管家

等保 堡垒机 等保2.0

如何使用物联网低代码平台进行事件管理?

AIRIOT

物联网 低代码开发

飞腾与百度发布云智一体机,金融领域AI场景成功落地“江苏银行”

百度开发者中心

【Spring 学习笔记(十一)】基于注解的Spring AOP

倔强的牛角

Java spring spring aop Java EE 6月月更

office 2016连接mysql并执行复杂查询

阿呆

MySQL Office

ABAP 程序间传递数据

桥下本有油菜花

研发效能管理如何建立闭环?

思码逸研发效能

研发效能

大数据相关名称解释看这里!简单通俗理解大数据!

行云管家

云计算 大数据 数据安全

【大厂面试题精选】UDP 和 TCP 核心知识总结

C++后台开发

面试题 udp TCP/IP 校招 大厂面经

.NET Core初探_.NET_Sergio De Simone_InfoQ精选文章