จากที่เคยเขียนเรื่อง ลองใช้งาน Native AOT (Ahead of Time) ของ .NET 8
ที่เป็น preview 1 มาตอนนี้เป็น preview 3 พบว่า

  • ขนาดของไฟล์ลดลงจาก 8.3M เหลือ 7.9M
  • ถ้าเทียบกับ .NET 7 ก็ลดลง 50%
  • การ publish มีค่า default เป็น release เลย ไม่ใช่ debug แล้ว ส่วนการ build ยังเป็น debug

ตัวอย่างการ build, publish และ publish แบบ Debug

$dotnet new console

$dotnet build
  app -> /app/bin/Debug/net8.0/app.dll

$dotnet publish
  app -> /app/bin/Release/net8.0/app.dll
  app -> /app/bin/Release/net8.0/publish/

$dotnet publish -p:PublishRelease=false
  app -> /app/bin/Debug/net8.0/app.dll
  app -> /app/bin/Debug/net8.0/publish/

ส่วนของ Docker image ก็มีเตรียมไว้ให้
คือ mcr.microsoft.com/dotnet/sdk:8.0-preview
หรือดูเพิ่มเติมได้ที่ Microsoft Artifact Registry

ใน Docker Image ของ .NET 8 ประกอบไปด้วย

  • ใช้ Debian 12
  • Non-root user
  • เปลี่ยน default port จาก 80 เป็น 8080 หรือกำหนดค่าผ่าน environment variable ชื่อว่า ASPNETCORE_HTTP_PORTS
  • มี Chiseled Ubuntu images ให้ใช้
  • Build multi-platform container images

ลองทดสอบใช้งานกันเล่นดูนะ

Tags:,