术语 ASP.NET 核心不再基于System.Web是什么意思.dll " "?



我读了一篇有关 Asp.net Core的文章,它说

asp.net core不再基于system.web.dll

另外说:

它基于一组颗粒状且良好的Nuget软件包。这使您可以优化应用程序仅包括所需的Nuget软件包。

我对此进行了搜索,但我没有找到一个很好的解释,有人可以为我澄清一下吗?

asp.net核心删除了对System.Web名称空间/汇编的依赖,因为它很旧(它的根源是旧的ASP中的根源,早在ASP.NET WebForms之前很久以来)并且非常非常紧密连接到IIS。继续支持System.Web意味着,ASP.NET Core应用程序将无法在Linux或Mac上很好地移植。

因此,删除此依赖关系允许ASP.NET Core独立运行,这使得更容易在Linux或Mac下移植和主机。

很好,因为这允许它在任何地方托管。但这也意味着,旧的ASP.NET WebForms/MVC WebStacks的所有库和扩展名(取决于System.Web.*)与ASP.NET Core不相容,并且需要重新设计以删除这些依赖项。

> > >

从长远来看,ASP.NET旧框架的所有主要库将在某个时候从头开始移植或编码,因为ASP.NET Core是未来。

因此,如果它们具有许多旧依赖项,则将其切换到生产应用程序的ASP.NET核心可能还要早一些。

最新更新