AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

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

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

关注

评论

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

Qt 性能优化策略和技巧

北京木奇移动技术有限公司

软件外包公司 QT开发 QT外包公司

Python实现「手势猜拳游戏」:好玩的实时机器学习项目

知识浅谈

Python 人工智能 机器学习

25年辽宁省等保测评机构新名单看这里!

行云管家

网络安全 等保 等保测评 辽宁

如何判断这个品牌的堡垒机是否安全?

行云管家

网络安全 堡垒机 堡垒机安全

电机工厂数字化转型MES系统解决方案

万界星空科技

mes 万界星空科技mes 制造业工厂 电机行业 电机MES

EMAS 性能分析全面适配HarmonyOS NEXT,开启原生应用性能优化新纪元

移动研发平台EMAS

性能优化 开发者工具 HarmonyOS NEXT EMAS性能分析 鸿蒙原生应用

不同的DNS解析记录分别代表什么含义

国科云

内购占比 45%、首日留存 50%,开发者揭秘热门手游《Trash Tycoon》成功秘籍

极客天地

通义灵码内置 DeepSeek V3 和 R1 满血版 671B模型,免费不限量,免部署!

阿里巴巴云原生

阿里云 云原生 通义灵码 AI程序员

2025开源数据工程全景图,九大技术赛道演进趋势预测

白鲸开源

大数据 开源 数据工程 全景图

阿里云 MaxCompute MaxQA 开启公测,解锁近实时高效查询体验

阿里云大数据AI技术

大数据 数据分析 云原生 实时数仓 MaxCompute

加入Karmada用户组!连接全球同行共建多集群生态

华为云原生团队

云计算 容器 云原生

人工智能丨使用实例:DeepSeek 在工作中的惊艳表现

测试人

人工智能

Qt开发框架及特点

北京木奇移动技术有限公司

软件外包公司 QT开发 QT外包公司

Qt 开发的性能测试

北京木奇移动技术有限公司

软件外包公司 QT开发 QT软件开发

DeepSeek-R1 网页端稳定性测评:天工AI位居总榜第二

新消费日报

通义灵码内置 DeepSeek V3 和 R1 满血版 671B模型,免费不限量,免部署!

阿里云云效

阿里云 云原生 通义灵码 AI程序员

开发一个交易所需要哪些技术

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Node.js技术原理分析系列——如何在Node.js中新增一个内置模块

OpenTiny社区

node.js 开源 前端 OpenTiny

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