C# Asp.net Core中的元包是什麼?


眾所周知,Microsoft.AspNetCore 包是新增到許多 ASP.NET Core 模板中的包之一。

建立新的 ASP.NET Core 專案時,Microsoft.AspNetCore 包會重複包含為常用的專案依賴項之一。它提供了許多重要的包來構建基本的 ASP.NET Core 應用程式。

但是,此包本身不包含任何實際的 dll 或程式碼,它只包含對其他包的一系列依賴項。透過將此包新增到您的專案中,您可以引入所有相關的包及其所依賴的 dll,這就是所謂的元包。

具體來說,它列出的包包括:

Microsoft.AspNetCore.Diagnostics
Microsoft.AspNetCore.Hosting
Microsoft.AspNetCore.Routing
Microsoft.AspNetCore.Server.IISIntegration
Microsoft.AspNetCore.Server.Kestrel
Microsoft.Extensions.Configuration.EnvironmentVariables
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Logging
Microsoft.Extensions.Logging.Console
Microsoft.Extensions.Options.ConfigurationExtensions
NETStandard.Library

您將獲得的這些包的版本取決於您安裝的 Microsoft.AspNetCore 包的版本。

這些依賴項提供了用於設定使用 Kestrel Web 伺服器幷包含 IIS 整合的基本 ASP.NET Core 伺服器的主要基本庫。

就應用程式本身而言,僅使用此包,您就可以將應用程式設定和環境變數載入到配置中,使用 IOptions 介面,並將日誌記錄配置到控制檯。

對於中介軟體,只包含 Microsoft.AspNetCore.Diagnostics 包,這允許新增中介軟體,例如 ExceptionHandlerMiddleware、DeveloperExceptionPageMiddleware 和 StatusCodePagesMiddleware。

要完成一個應用程式,我們不能只使用元包,因為它沒有提供足夠的控制元件,但我們可以使用 Microsoft.AspNetCore.Mvc 或 Microsoft.AspNetCore.MvcCore 包向我們的應用程式新增 MVC 功能,並且還需要一些其他包。

元包試圖使用許多可以應用於許多應用程式的包,這樣我們就不需要載入更多依賴項,但實際上並非如此,因為它還需要其他包。因此,如果包的數量很大,那麼依賴項就會增加,這會影響元包的實際使用。例如,Microsoft.AspNetCore 所依賴的依賴項之一是 NETStandard.Library 包,它也是一個元包,因此依賴項會增加。

更新於:2020年9月25日

4K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告