ASP.NET Core 3.0:将会拥有更少的依赖
在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:将会拥有更少的依赖相关推荐
- ASP.NET Core 3.0中使用动态控制器路由
原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...
- Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理
之前在我的文章中,通过实例展示Asp.Net Core 2.0 之旅---AutoFac 仓储泛型的依赖注入,并在结尾处提到了事务的统一管理. 仓储的概念是DDD领域的一部分,仓储封装了获取数据的逻辑 ...
- ASP.NET Core 2.0 : 三. 项目结构
ASP.NET Core 2.0 : 三. 项目结构 原文:ASP.NET Core 2.0 : 三. 项目结构 本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Cor ...
- 从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection
前言 在阅读这篇文章:Announcing Net Core 3 Preview3的时候,我看到了这样一个特性: Docker and cgroup memory Limits We conclude ...
- ASP.NET Core 3.0 项目开始“瘦身”
新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包.该包也可以称为"ASP.NET Core 共享框架",其背后的基本思想是,包括 ...
- ASP.NET Core 2.0 全局配置项
问题 如何在 ASP.NET Core 2.0 应用程序中读取全局配置项? 答案 首先新建一个空项目,并添加两个配置文件: 1. appsettings.json { "Section1&q ...
- asp.net core 2.0 web api基于JWT自定义策略授权
JWT(json web token)是一种基于json的身份验证机制,流程如下: 通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端 ...
- ASP.Net Core 2.0中的Razor Page不是WebForm
随着.net core2.0的发布,我们可以创建2.0的web应用了.2.0中新东西的出现,会让我们忘记老的东西,他就是Razor Page.下面的这篇博客将会介绍ASP.Net Core 2.0中的 ...
- 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 ...
最新文章
- wpsarm64linux,WPS Office 2019 For Linux 11.1.0.9080版发布下载,附更新介绍和安装
- 在python中、下列代码的输出是什么-Python 面试中 8 个必考问题
- 剑指offer 11. 旋转数组的最小数字(很详细!)
- 面向云原生的混沌工程工具-ChaosBlade
- 身为初学Java的你,这些IDE的优缺点你都知道吗?
- C++描述杭电OJ 2011.多项式求和 ||
- c语言有语段不运行,各位C语言的高手,帮忙看下下面两段代码!他们不能运行!急!!!!!!...
- Maven整合SSM项目(七)
- 如何用公众号关联认证小程序
- word2010设置护眼背景
- 汽车的主要结构参数和性能参数
- uiautomatorviewer 提示 Error obtaining UI hierarchy 的解决办法
- Java快递驿站项目
- kettle在linux下启动报错libwebkitgtk-1.0-0
- es 聚合查询 java api_javaAPI操作ES分组聚合
- 常见问题及解决方法1
- 如何将思科路由器恢复到出厂默认设置?
- 函数的参数、返回、调用、递归
- git 乱改你的换行符?一句话设置让 git 不再碰你某个文件的换行符
- 70.青蛙跳台阶(爬楼梯)