zoukankan      html  css  js  c++  java
  • 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拥有更少的依赖,我们的依赖管理将变得更加简单。

    本为翻译自:ASP.NET Core 3.0 Projects Go on a Diet

  • 相关阅读:
    Data truncation: Out of range value for column 'quanity' at row 问题解决方案
    nginx 提示the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
    集合源码分析[3]-ArrayList 源码分析
    集合源码分析[2]-AbstractList 源码分析
    IDEA升级版本后界面出现变小,字体变细的问题解决
    集合源码分析[1]-Collection 源码分析
    kubernetes学习第一篇-k8s安装以及HelloWorld
    shiro多Realm第一次调用不生效问题
    设计模式学习(二)-简单工厂模式
    根据具体的地址解析出对应的地区码
  • 原文地址:https://www.cnblogs.com/SuperChan/p/10259155.html
Copyright © 2011-2022 走看看