จากที่เคยเขียนเรื่อง ลองใช้งาน 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
[code] $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/ [/code]ส่วนของ 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
ลองทดสอบใช้งานกันเล่นดูนะ