เป็นที่ทราบกันดีอยู่แล้วว่าแพ็คเกจ Microsoft.AspNetCore เป็นหนึ่งในแพ็คเกจที่เพิ่มไปยังเทมเพลต ASP.NET Core จำนวนมาก
แพ็คเกจ Microsoft.AspNetCore ถูกรวมซ้ำๆ เป็นหนึ่งในการพึ่งพาโปรเจ็กต์ปกติเมื่อเปิดโปรเจ็กต์ ASP.NET Core ใหม่ มีแพ็คเกจสำคัญมากมายสำหรับวางตำแหน่งแอปพลิเคชัน ASP.NET Core พื้นฐาน
แม้ว่าแพ็คเกจนี้จะไม่มี dll หรือโค้ดที่มีอยู่จริง แต่ก็มีเพียงชุดของการพึ่งพาแพ็คเกจเพิ่มเติมเท่านั้น การเพิ่มแพ็คเกจนี้ไปยังโปรเจ็กต์ของคุณ จะเป็นการนำแพ็กเกจที่เกี่ยวข้องทั้งหมดมาพร้อมกับ dll ของแพ็คเกจที่มันขึ้นอยู่และเรียกว่า metapackage
โดยเฉพาะแพ็คเกจที่อยู่ในรายการคือ −
<ก่อนหน้า>Microsoft.AspNetCore.DiagnosticsMicrosoft.AspNetCore.HostingMicrosoft.AspNetCore.RoutingMicrosoft.AspNetCore.Server.IISIntegrationMicrosoft.AspNetCore.Server.KestrelMicrosoft.Extensions.Configuration.EnvironmentVariablesMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Extensions.Extensions.Extensions .Extensions.Logging.ConsoleMicrosoft.Extensions.Options.ConfigurationExtensionsNETStandard.Libraryเวอร์ชันของแพ็คเกจเหล่านี้ที่คุณจะได้รับขึ้นอยู่กับเวอร์ชันของแพ็คเกจ Microsoft.AspNetCore ที่คุณติดตั้ง
การขึ้นต่อกันเหล่านี้ส่งไลบรารีพื้นฐานหลักสำหรับการตั้งค่าเซิร์ฟเวอร์ BasicASP.NET Core ที่ใช้เว็บเซิร์ฟเวอร์ Kestrel และรวม IIS Integration
ในแง่ของตัวแอปพลิเคชันเอง ด้วยความช่วยเหลือของแพ็คเกจนี้เพียงอย่างเดียว คุณสามารถโหลดการตั้งค่าแอปพลิเคชันและตัวแปรสภาพแวดล้อมลงในการกำหนดค่า ใช้อินเทอร์เฟซ IOptions และกำหนดค่าการบันทึกไปยังคอนโซลได้
สำหรับมิดเดิลแวร์ จะรวมเฉพาะแพ็คเกจ Microsoft.AspNetCore.Diagnostics เท่านั้น ซึ่งจะอนุญาตให้เพิ่มมิดเดิลแวร์ เช่น ExceptionHandlerMiddleware, theDeveloperExceptionPageMiddleware และ StatusCodePagesMiddleware
เพื่อให้แอปพลิเคชันสมบูรณ์ เราไม่สามารถใช้ Metapackage เท่านั้น เนื่องจากไม่ได้ให้การควบคุมที่เพียงพอ แต่เราสามารถใช้แพ็คเกจ Microsoft.AspNetCore.Mvc หรือ Microsoft.AspNetCore.MvcCore เพื่อเพิ่มความสามารถ MVC ให้กับแอปพลิเคชันของเรา และยังจำเป็นต้องมีแพ็คเกจอื่นๆ ด้วยพี>
metapackage พยายามใช้แพ็คเกจจำนวนหนึ่งที่สามารถนำไปใช้กับหลาย ๆ แอปพลิเคชั่นเพื่อที่เราจะได้ไม่ต้องโหลดการพึ่งพาเพิ่มเติม แต่จริง ๆ แล้วไม่เป็นเช่นนั้นเพราะต้องใช้แพ็คเกจอื่นเช่นกัน ดังนั้น หากจำนวนของแพ็คเกจมีมาก การขึ้นต่อกันจะเพิ่มขึ้น ซึ่งส่งผลต่อการใช้งานจริงของ metapackage Forexample หนึ่งในการขึ้นต่อกันที่ Microsoft.AspNetCore ขึ้นอยู่กับคือแพ็คเกจ NETStandard.Library ซึ่งเป็น metapackage เช่นกัน ดังนั้นการพึ่งพาเพิ่มขึ้น