在ASP.NET Core项目中,我们使用一个叫做Microsoft.AspNetCore.App的综合包。它也被称为ASP.NET Core Shared Framework,在ASP.NET Core Shared Framework之中包含了很多依赖项,它能满足一般应用的需求。但是如果你查看它的依赖项,在ASP.NET Core3.0中它的需求在似乎变得宽松了。

当前版本的Microsoft.AspNetCore.App明确列出了150个依赖项,而7个月前的版本只需要144个。在这些包中,你能发现九种认证相关的包,他们分别是

  • Cookies

  • Facebook

  • Google

  • JwtBearer

  • Microsoft Account

  • OAuth

  • OpenIdConnect

  • Twitter

  • WsFederation

  • Microsoft.AspNetCore

  • Microsoft.AspNetCore.Mvc

  • Microsoft.AspNetCore.HttpsPolicy

你还能发现8个关于EFCore With SQL Server的支持包,一个用于SQL Server缓存的类库,一个EFCore诊断包,一个用于EFCore标识包等等。

在这150项依赖中,31项将被从ASP.NET Core3.0的Shared Framework中移除出去,由于它们不符合如下的新的入选标准。

(1)  依赖了Shared Framework无法提供服务的第三方代码

(2)  程序集本身被Shared Framework所抛弃

(3)  他们实现的协议或身份认证机制十分容易发生变化(比如Facebook/Google/Twitter可能能回在明天改变它们身份认证的方式)

ASP.NET Core项目的高级工程师Nate McMaster说:“我们在2.0版本中加入了太多东西,我们正在重新调整,我们的目标是在可以预见的的时间内,这些组件是可以维护的。许多从Microsoft.AspNetCore.App中移除的程序集将以NuGet 包来提供。如果我们发现90%的人引用了相同的包,那么这个包将有可能被纳入到Shared Framework中。然而,正如在指导文件中指出的那样,API的使用量虽然是一项重要指标,但并不是我们考虑的唯一因素。“。

这将对现有项目有何影响?

如果你决定升级到ASP.NET Core3.0,并且在你的项目中引用了被Shared Framework排除的包,那么你的应用将会崩溃。但是别担心,解决这个问题只需要像使用其他NuGet 包一样手动添加这些包到你的项目中。

项目中需要哪些包呢?

这个问题问题的答案取决于你的项目类型。如果你的项目是一个REST服务,你只需要引用下面三个包

在Microsoft.AspNetCore中有18个直接的依赖项,Mvc中添加了13个依赖项,HttpsPolicy添加了5个。这些数字虽然不包括重复或者间接依赖,它却反映了Shared Framework拥有更少的依赖,我们的依赖管理将变得更加简单。

原文地址:https://www.cnblogs.com/SuperChan/p/10259155.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

ASP.NET Core 3.0:将会拥有更少的依赖相关推荐

  1. ASP.NET Core 3.0中使用动态控制器路由

    原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...

  2. Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理

    之前在我的文章中,通过实例展示Asp.Net Core 2.0 之旅---AutoFac 仓储泛型的依赖注入,并在结尾处提到了事务的统一管理. 仓储的概念是DDD领域的一部分,仓储封装了获取数据的逻辑 ...

  3. ASP.NET Core 2.0 : 三. 项目结构

    ASP.NET Core 2.0 : 三. 项目结构 原文:ASP.NET Core 2.0 : 三. 项目结构 本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Cor ...

  4. 从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection

    前言 在阅读这篇文章:Announcing Net Core 3 Preview3的时候,我看到了这样一个特性: Docker and cgroup memory Limits We conclude ...

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

    新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包.该包也可以称为"ASP.NET Core 共享框架",其背后的基本思想是,包括 ...

  6. ASP.NET Core 2.0 全局配置项

    问题 如何在 ASP.NET Core 2.0 应用程序中读取全局配置项? 答案 首先新建一个空项目,并添加两个配置文件: 1. appsettings.json { "Section1&q ...

  7. asp.net core 2.0 web api基于JWT自定义策略授权

    JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端 ...

  8. ASP.Net Core 2.0中的Razor Page不是WebForm

    随着.net core2.0的发布,我们可以创建2.0的web应用了.2.0中新东西的出现,会让我们忘记老的东西,他就是Razor Page.下面的这篇博客将会介绍ASP.Net Core 2.0中的 ...

  9. ASP.NET Core 2.0 特性介绍和使用指南

    ASP.NET Core 2.0 发布日期:2017年8月14日 ASP.NET团队宣布ASP.NET Core 2.0正式发布,发布Visual Studio 2017 15.3支持ASP.NET ...

最新文章

  1. wpsarm64linux,WPS Office 2019 For Linux 11.1.0.9080版发布下载,附更新介绍和安装
  2. 在python中、下列代码的输出是什么-Python 面试中 8 个必考问题
  3. 剑指offer 11. 旋转数组的最小数字(很详细!)
  4. 面向云原生的混沌工程工具-ChaosBlade
  5. 身为初学Java的你,这些IDE的优缺点你都知道吗?
  6. C++描述杭电OJ 2011.多项式求和 ||
  7. c语言有语段不运行,各位C语言的高手,帮忙看下下面两段代码!他们不能运行!急!!!!!!...
  8. Maven整合SSM项目(七)
  9. 如何用公众号关联认证小程序
  10. word2010设置护眼背景
  11. 汽车的主要结构参数和性能参数
  12. uiautomatorviewer 提示 Error obtaining UI hierarchy 的解决办法
  13. Java快递驿站项目
  14. kettle在linux下启动报错libwebkitgtk-1.0-0
  15. es 聚合查询 java api_javaAPI操作ES分组聚合
  16. 常见问题及解决方法1
  17. 如何将思科路由器恢复到出厂默认设置?
  18. 函数的参数、返回、调用、递归
  19. git 乱改你的换行符?一句话设置让 git 不再碰你某个文件的换行符
  20. 70.青蛙跳台阶(爬楼梯)

热门文章

  1. JavaScript数据结构与算法——集合
  2. zookeeper学习03 使用场景
  3. Java 解析XML的几种方法
  4. DOCKER存储驱动之DEVICE MAPPER简介
  5. 《Java和Android开发学习指南(第2版)》—— 1.5 本章小结
  6. 实时事件日志记录和聚合的平台——Sentry
  7. 蓝牙Bluetooth技术手册规范下载【转】
  8. js获取当前页面url网址等信息
  9. 过Div将页面分三块(上,中,下),然后通过Ext来改变Content的内容(三)--终结版
  10. Lucene的一些基本使用方法和概念 (JAVA)