写点什么

ASP.NET Core 3.0 项目开始“瘦身”

  • 2019-01-26
  • 本文字数:955 字

    阅读完需:约 3 分钟

ASP.NET Core 3.0项目开始“瘦身”

新的ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”,其背后的基本思想是,包括一个典型的应用程序所需要的所有东西。但是,如果看看该包的依赖项,对“需要”的定义看起来相当宽松。


目前,Microsoft.AspNetCore.App 拥有 150 个明确列出的依赖项,7 个月前则是 144 项。其中有 9 个不同的认证提供程序包。


  • Cookies

  • Facebook

  • Google

  • JwtBearer

  • Microsoft Account

  • OAuth

  • OpenIdConnect

  • Twitter

  • WsFederation


还可以发现 8 个用于支持实体框架核心(Entity Framework Core)的包,其拥有 SQL Server、SQL Server 缓存库、用于诊断的 EF 核心包、用于标识的 EF 核心包等等。


从这 150 个依赖项列表中,31个将从ASP.NET Core 3.0 的共享框架中删去,因为它们违反了新的纳入标准


(1) 依赖我们无法提供服务的第三方代码

(2) 组件本身在 3.0 中被弃用

(3) 它们实施的协议或身份验证机制极易发生变化(比如,脸书/谷歌/推特转天就可以决定改变授权的工作方式)


ASP.NET Core 项目的高级软件工程师 Nate McMaster 接着说:


我们在 2.0 中添加了太多东西,我们正在重新调整以适应我们认为在可预见的道路上可维护的一套东西。大多数从 Microsoft.AspNetCore.App 中删除的组件仍将作为 NuGet 包提供给大家。如果我们将来发现 90%的客户都引用同样的包,那么该包将成为共享框架一个很好的候选项。但是,正如在指导文档中所提到的,API 的使用量是一个重要指标,但不是我们唯一考虑的因素。


对目前的项目有什么影响?


如果你决定升级到ASP.NET Core 3.0,再使用任何不在共享框架中的包的话应用程序将会崩溃。但是,要修复也很简单,只需要把被排除的包手动添加到你的工程中即可,就像添加任何其他 Nuget 样式的依赖项一样。


我实际需要什么包?


这个问题的答案取决于你的应用程序实际执行的操作。但是,如果我们只考虑一个简单的 REST 服务器,那么只需要直接引用这三个包:


  • Microsoft.AspNetCore

  • Microsoft.AspNetCore.Mvc

  • Microsoft.AspNetCore.HttpsPolicy


其中的第一个是 Microsoft.AspNetCore,它有 18 个直接依赖项。Mvc 添加了自己的 13 个依赖项,HttpsPolicy 添加了另外 5 个。这个数字不包括重叠或间接的依赖项,但是,仍然反映了一组更小更易管理的依赖项。


阅读英文原文:ASP.NET Core 3.0 Projects Go on a Diet


2019-01-26 00:007076
用户头像

发布了 199 篇内容, 共 84.5 次阅读, 收获喜欢 295 次。

关注

评论

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

苹果电脑批量重命名工具:A Better Finder Rename 12

Rose

Axure RP10汉化版激活秘钥 交互式原型设计

Rose

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

获取淘宝商品详情API返回值的技术实现方案

技术冰糖葫芦

API Gateway API Explorer API 接口 API 测试 pinduoduo API

AI赋能制造未来,英特尔工博会展示创新成果

E科讯

Royal TSX v6.0.2激活版 Mac强大的远程管理

Rose

【YashanDB知识库】如何dump数据文件,转换rowid, 查询对应内容

YashanDB

yashandb 崖山数据库 yashandb知识库

云栖实录 | GenAI 时代 AI Infra 工程技术趋势与平台演进

阿里云大数据AI技术

人工智能 阿里云 云栖大会 PAI AI Infra

给Java同仁单点的AI"开胃菜"--搭建一个自己的本地问答系统

京东零售技术

Java LLM

功能丰富文档编辑设计工具Author for Mac

Mac相关知识分享

Volcano v1.10.0 版本正式发布!10大功能全面提升统一调度和细粒度资源管理能力

华为云原生团队

云计算 容器 云原生

犀牛Rhinoceros 7:渲染功能大升级,打造逼真视觉体验!

Rose

微信多开防撤回工具WechatTweak for Mac

Mac相关知识分享

“AI+Security”系列第3期(六):打造最懂安全的智能体-无极AI安全智能体平台落地与实践

云起无垠

SimpleMind Pro:一键理清思绪,高效思维导图工具

Rose

mac专用图片管理工具 PowerPhotos

Rose

OpenHarmony外设生态春笋行动 在2024开放原子开源生态大会上开启

最新动态

Arthas命令太难记了?安利一个IDEA插件!

江南一点雨

Minitab Express Mac数据分析统计软件 v1.5.0激活版

Rose

Alfred 5 for Mac(高效功能工具)

Mac相关知识分享

Service worker 入门手册

yuanyxh

JavaScript chrome Service Worker #前端

系统安全不求人:开发者必学的漏洞防御秘籍

巧手打字通

后端 系统安全 安全漏洞 SQL注入 xss攻击

AI加速前行,英特尔PT Expo演绎网络智能化新发展

E科讯

AI应用元年,豆包大模型为消费电子、游戏行业注入智能化创新动能

新消费日报

【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题

YashanDB

yashandb 崖山数据库 yashandb知识库

软件测试学习笔记丨Mock的价值与实战

测试人

软件测试 测试开发

sublime text :轻量级的文本编辑器

Rose

Illustrator 2021 for mac(ai 2021中文版)

Mac相关知识分享

小说

RAW 格式图像处理软件Capture One 23 Pro for mac

Mac相关知识分享

【YashanDB知识库】由于hist_head$中analyze time小于tab$中analyze time导致的sql语句执行慢

YashanDB

yashandb 崖山数据库 yashandb知识库

WiFi Explorer for mac:扫描查找无线网络并进行故障排除

Rose

ASP.NET Core 3.0项目开始“瘦身”_语言 & 开发_Jonathan Allen_InfoQ精选文章