1️⃣ Microsoft.AspNetCore.App คืออะไร

By suparat · 08 Oct 2025


โอเค! 😎 เรามาเจาะลึก Microsoft.AspNetCore.App กันแบบเข้าใจง่าย ๆ


1️⃣ Microsoft.AspNetCore.App คืออะไร

  • Microsoft.AspNetCore.App เป็น Framework reference หลักของ ASP.NET Core

  • รวม ทุกอย่างที่จำเป็นสำหรับการสร้าง Web API, MVC, Razor Pages ไว้แล้ว

  • ไม่ใช่ NuGet package แยกต่างหาก แต่จะมาพร้อมกับ SDK

  • ตัวนี้จะรวมไลบรารีหลายตัว เช่น:

Component หน้าที่
Microsoft.AspNetCore.Mvc MVC / API controllers
Microsoft.AspNetCore.Routing Routing requests
Microsoft.AspNetCore.Http HttpContext, Request/Response
Microsoft.Extensions.Logging Logging
Microsoft.Extensions.Configuration Config settings
Microsoft.AspNetCore.Authentication Auth

💡 ข้อดี:

  • ไม่ต้องเพิ่มหลาย package ทีละตัว

  • มี version ที่เข้ากันกับ SDK โดยตรง


2️⃣ การใช้งานในโปรเจกต์

แบบ .NET Core 3.1+ หรือ .NET 5/6/7/8

ใน csproj จะใช้ FrameworkReference แทน PackageReference:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

</Project>
  • TargetFramework ต้องเป็น netcoreapp3.1 หรือใหม่กว่า

  • ไม่จำเป็นต้องใช้ PackageReference ของ MVC หรือ Kestrel แยก เพราะรวมอยู่แล้ว


3️⃣ ตัวอย่างการสร้าง Web API

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var builder = WebApplication.CreateBuilder(args);

// Add services
builder.Services.AddControllers(); // ใช้ Microsoft.AspNetCore.App

var app = builder.Build();

// Middleware pipeline
if (app.Environment.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}

app.UseRouting();

app.UseAuthorization();

app.MapControllers();

app.Run();

อธิบาย:

  • AddControllers() ใช้ MVC จาก Microsoft.AspNetCore.App

  • UseRouting() / MapControllers() มาจาก Microsoft.AspNetCore.Routing

  • Middleware, Auth, Logging ต่าง ๆ ก็รวมอยู่ใน App framework


4️⃣ ข้อควรรู้

  1. ไม่ต้อง install แยก

    • แค่ใช้ SDK เวอร์ชันล่าสุด ก็มี App framework ให้พร้อมใช้งาน

  2. รวมทุกอย่างที่จำเป็น

    • ไม่ต้อง Add NuGet ของ MVC, Razor, Kestrel, Routing, Logging แยก

  3. เป็นมาตรฐานใน Web API / MVC

    • หากทำ Web API, Razor Pages, Blazor Server ก็ใช้ Microsoft.AspNetCore.App ได้ทั้งหมด

 

คุณอยากให้ผมทำไหม?

1️⃣ Microsoft.AspNetCore.App คืออะไร
Web hosting by Somee.com