【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:006976
用户头像

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

关注

评论

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

华为云网站安全解决方案:让企业上云后无忧开展网站业务

YG科技

Spring Boot:MyBatis分页

Java你猿哥

Java spring Spring Boot mybatis ssm

华为云网站安全解决方案助力企业腾“云”驾“务”

YG科技

mosn基于延迟负载均衡算法——走得更快,期待走得更稳 | 京东云技术团队

京东科技开发者

负载均衡 京东云 企业号 5 月 PK 榜

AI系统伦理道德风险之可信任度验证

陈磊@Criss

AI 伦理道德

耗时15天,我把“大厂面试指南”进行了重新梳理,V2.0版已上线

Java你猿哥

Java 数据库 计算机 java面试 java基础

All in AI,现在开始算不算太晚?

Baihai IDP

人工智能 AI 企业号 5 月 PK 榜 人工智能浪潮

昇腾实战丨DVPP媒体数据处理视频解码问题案例

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟 企业号 5 月 PK 榜

Android App开发超实用实例 | ​Broadcast

TiAmo

broadcast broadcastreceiver Android APP

守护企业网站安全!选择华为云网站安全方案更准

YG科技

外译笔记 | 比尔盖茨:AI与智能手机和互联网一样具有革命性

京东科技开发者

AI 京东云 企业号 5 月 PK 榜

获得清晰、无噪点的图像:Topaz Photo AI 激活电脑版

真大的脸盆

Mac Mac 软件 图像降噪 图像噪点处理

京东APP百亿级商品与车关系数据检索实践 | 京东云技术团队

京东科技开发者

数据库 京东云 企业号 5 月 PK 榜

玩转服务器之Java Web篇:手把手教你搭建Java Web环境 | 京东云技术团队

京东科技开发者

Java 云服务器 京东云 企业号 5 月 PK 榜

优雅!用了这两款插件,我成了整个公司代码写得最规范的码农

AI乔治

Java 架构 面试 IDEA java代码规范

极光笔记 | 极光推出“运营增长”解决方案,开启企业增长新引擎

极光JIGUANG

营销 运营 用户运营

为什么老有人想让我们“程序员”失业? | 社区征文

坚果

三周年征文

kafka高性能设计之内存池

Java你猿哥

Java kafka ssm 架构师 内存池

京东小程序折叠屏适配探索 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜 京东小程序

架构师必备!阿里P8耗时6个月手码架构师进阶笔记真的香

Java你猿哥

Java 架构 ssm 架构师

浪潮信息 KOS 助力企业核心业务完成 CentOS 迁移替换,性能提升 10%|龙蜥案例

OpenAnolis小助手

操作系统 开源社区 CentOS迁移 浪潮信息 龙蜥案例

华为云网站安全解决方案一站式护航

YG科技

几种常见的Python数据结构

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

多位P8大佬联合打造的Java面试八股文,堪称《Java驾考宝典》

Java你猿哥

Java MySQL redis spring 多线程

Spring Data JPA:轻松实现数据持久化

Java你猿哥

Java spring ssm spring data

全网好评!程序员面试必备的Java八股文,适合所有的Java求职者!

Java你猿哥

Java Spring Boot 多线程 java基础 Java八股文

RabbitMQ - 1消息队列中间件AMQP协议、和主要角色

Java你猿哥

Java ssm AMQP Rabbit MQ

惊艳的数据可视化案例 让可视化设计灵感迸发

2D3D前端可视化开发

数据分析 数据可视化 数据可视化工具 前端数据可视化 数据可视化设计

什么是人工智能领域的过拟合和欠拟合

Jerry Wang

人工智能 机器学习 深度学习 强化学习 三周年连更

当Serverless遇到Regionless:现状与挑战

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

GitHub最新爆火,2023年最新版互联网大厂Java八股文合集PDF版出炉

开心学Java

Java 面试 Java八股文

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