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 包,它也是一個元包,因此依賴項會增加。