在 1.0 中,ASP.NET Core 本身就是一個(gè)“包”,并且像任何其他 NuGet 包引用一樣出現(xiàn)在項(xiàng)目中。這有利有弊,隨著時(shí)間的推移,這個(gè)模型有了新的發(fā)展,在 2.1 中,ASP.NET Core 最終演變?yōu)榭勺鳛?.NET Core 的“共享框架”。而 ASP.NET Core 3.0 則持續(xù)朝這個(gè)方向進(jìn)行改變 —— 將從 3.0 中的 ASP.NET Core 共享框架中刪除一些子組件:
Json.NET (Newtonsoft.Json)
Entity Framework Core (Microsoft.EntityFrameworkCore.*)
由于 .NET Framework 未來(lái)從 .NET Core 獲得的新平臺(tái)和語(yǔ)言特性將會(huì)變少,且因?yàn)?.NET Framework 的更新策略,這將使已有的應(yīng)用程序受到影響。為了確保 ASP.NET Core 能夠充分利用 .NET Core 的改進(jìn),從 3.0 開(kāi)始,ASP.NET Core 將只支持在 .NET Core 上運(yùn)行,目前仍在 .NET Framework 上使用 ASP.NET Core 的開(kāi)發(fā)者,可以使用 2.1 LTS 版本以繼續(xù)獲得完全的支持,微軟對(duì) 2.1 的支持將持續(xù)到 2021 年。
關(guān)于 ASP.NET Core 3.0 只支持運(yùn)行在 .NET Core 上的計(jì)劃,ASP.NET Core 項(xiàng)目的高級(jí)軟件工程師在 GitHub 發(fā)布了一個(gè)公開(kāi) issue 為大家提供討論的渠道。