.NET 8 หมดซัพพอร์ต 10 พ.ย. 2026 พร้อม .NET 9 และ Azure Functions แบบ in-process
.NET 8 หมดซัพพอร์ต 10 พฤศจิกายน 2026 พร้อม .NET 9 วันเดียวกับ Azure Functions แบบ in-process ทางเลือกหลักคือ .NET 10 LTS ที่ได้แพตช์ถึงปี 2028
โดย กองบรรณาธิการ THAI DATA อ่าน 7 นาที

สรุปประเด็นสำคัญ
- หน้า support policy ของ Microsoft ระบุว่า .NET 8 หมดซัพพอร์ต 10 พฤศจิกายน 2026 และ .NET 9 หมดวันเดียวกัน
- Azure Functions แบบ in-process ก็หมดซัพพอร์ต 10 พฤศจิกายน 2026 และต้องย้ายไป isolated worker model
- .NET 10 เป็น LTS ได้ซัพพอร์ตถึง 14 พฤศจิกายน 2028 ส่วน .NET 11 จะเปิดตัวในงาน .NET Conf 2026 วันที่ 10–13 พฤศจิกายน
- รุ่นล่าสุด ณ 31 ตุลาคม 2026 คือ .NET 8.0.33 และ 9.0.22 ซึ่งออกเมื่อ 25 ตุลาคม 2026
- .NET Upgrade Assistant ถูกยกเลิกแล้ว Microsoft แนะนำ GitHub Copilot modernization agent แทน
.NET 8 หมดซัพพอร์ตวันที่ 10 พฤศจิกายน 2026 พร้อม .NET 9 และ Azure Functions แบบ in-process ซึ่งหมายความว่าทีมที่ใช้แพลตฟอร์มนี้เหลือเวลาเพียง 10 วัน หลังวันนั้น Microsoft จะไม่ให้แพตช์แก้ช่องโหว่อีก ทางเลือกหลักคือ .NET 10 ซึ่งเป็นรุ่น LTS ที่ได้ซัพพอร์ตถึง 14 พฤศจิกายน 2028
สำหรับภาพรวม .NET 11 อ่านได้ที่ข่าว .NET 11 RC1 บทความนี้เน้นสิ่งที่ต้องตัดสินใจก่อนถึงกำหนด โดยเฉพาะ Azure Functions ซึ่งมีเส้นตายเดียวกันแต่ทำงานย้ายมากกว่าการเปลี่ยนเลขรุ่น

.NET 8 หมดซัพพอร์ตแล้วเกิดอะไรขึ้น
แอปยังทำงานต่อได้ ไม่มีกลไกปิดการทำงาน แต่ Microsoft นิยามวันหมดซัพพอร์ตว่าเป็นวันที่ไม่มีการแก้ไข อัปเดต หรือความช่วยเหลือทางเทคนิคออนไลน์อีก ผลที่องค์กรต้องเจอจึงอยู่ที่ความเสี่ยงและการตรวจสอบ ไม่ใช่ระบบล่ม
- ช่องโหว่ใหม่ไม่มีแพตช์ รุ่นล่าสุดของ .NET 8 คือ 8.0.33 ซึ่งออกเมื่อ 25 ตุลาคม 2026 เป็นตัวอย่างว่าแพตช์นอกรอบยังเกิดขึ้นได้จนถึงวันท้าย ๆ
- ไม่มีความช่วยเหลือทางเทคนิค นิยามของ Microsoft รวมถึงการหยุดให้ความช่วยเหลือทางเทคนิคออนไลน์สำหรับรุ่นนั้น
- ต้องตอบเรื่องการจัดการแพตช์ องค์กรที่มีข้อกำหนดด้านความปลอดภัยควรบันทึกว่าระบบใดยังอยู่บนรุ่นที่ไม่มีแพตช์
| รุ่น | ประเภท | ออกเมื่อ | รุ่นล่าสุด | หมดซัพพอร์ต |
|---|---|---|---|---|
| .NET 8 | LTS | 14 พฤศจิกายน 2023 | 8.0.33 | 10 พฤศจิกายน 2026 |
| .NET 9 | STS | 12 พฤศจิกายน 2024 | 9.0.22 | 10 พฤศจิกายน 2026 |
| .NET 10 | LTS | 11 พฤศจิกายน 2025 | 10.0.14 | 14 พฤศจิกายน 2028 |
.NET 9 หมดพร้อม .NET 8 เพราะ Microsoft ขยายซัพพอร์ตรุ่น STS จาก 18 เดือนเป็น 24 เดือนเมื่อปี 2025 เดิมรุ่นนี้กำหนดหมดวันที่ 12 พฤษภาคม 2026 ทำให้ปีนี้ทั้ง 2 รุ่นต้องย้ายในรอบเดียวกัน

.NET 8 หมดซัพพอร์ตแล้วควรขึ้น .NET 10 หรือรอ .NET 11
คำตอบสั้น ๆ คือส่วนใหญ่ควรไป .NET 10 เหตุผลคือพร้อมใช้แล้ว เป็น LTS และ Microsoft แนะนำให้ระบบ production ย้ายมาที่รุ่นนี้ตั้งแต่วันเปิดตัว
| ประเด็น | .NET 10 | .NET 11 |
|---|---|---|
| สถานะ ณ 31 ตุลาคม 2026 | ออกแล้ว รุ่น 10.0.14 | RC3 ออก 25 ตุลาคม 2026 |
| ประเภท | LTS ซัพพอร์ต 3 ปี | เลขคี่ จึงเป็น STS ซัพพอร์ต 2 ปี |
| หมดซัพพอร์ต | 14 พฤศจิกายน 2028 | ยังไม่ขึ้นตารางรุ่นหลัก |
| เหมาะกับ | ระบบ production ทั่วไป | ทีมที่ต้องการฟีเจอร์ใหม่และรับรอบอัปเกรดได้ |
ถ้า .NET 11 ออกตามรอบเดือนพฤศจิกายน นโยบาย 2 ปีจะทำให้หมดซัพพอร์ตราวพฤศจิกายน 2028 ซึ่งใกล้กับ .NET 10 ข้อได้เปรียบเรื่องอายุจึงไม่ได้มากอย่างที่เลขรุ่นชวนให้คิด งาน .NET Conf 2026 วันที่ 10–13 พฤศจิกายนจะเป็นการเปิดตัว .NET 11 แต่ทีมที่ยังอยู่บน .NET 8 ไม่ควรรอถึงงานนี้จึงเริ่มย้าย


Maintenance ต่างจาก Active และหลัง .NET 8 หมดซัพพอร์ตต้องทำอะไร
ตอนนี้ .NET 8 และ .NET 9 อยู่ในช่วง Maintenance ซึ่งเป็น 6 เดือนสุดท้ายของทุกรุ่น ช่วงนี้แพตช์มีเฉพาะการแก้ช่องโหว่ ต่างจากช่วง Active ที่ยังแก้แครช ปัญหาประสิทธิภาพรุนแรง และบั๊กในการใช้งานหลัก รวมถึงเพิ่มการรองรับระบบปฏิบัติการหรือฮาร์ดแวร์ใหม่ ถ้าทีมเจอบั๊กที่ไม่ใช่เรื่องความปลอดภัยบน .NET 8 จึงไม่ควรรอการแก้ไขจาก Microsoft แล้ว
เมื่อ .NET 8 หมดซัพพอร์ต Microsoft แนะนำให้ถอนรุ่นนั้นออกถ้าไม่ได้ใช้แล้ว ถ้ายังต้องใช้ ให้ติดตั้งแพตช์ล่าสุด และเร่งแผนเลิกใช้ นอกจากนี้ Microsoft เตือนว่าการใช้รุ่นที่หมดซัพพอร์ตอาจทำให้แอป ข้อมูล และสภาพแวดล้อมการทำงานมีความเสี่ยง วันหมดซัพพอร์ตตรงกับ Patch Tuesday ของเดือนพฤศจิกายนพอดี แต่นโยบายไม่รับประกันว่าทุก Patch Tuesday จะมีรุ่นใหม่ของ .NET จึงไม่ควรคาดหวังแพตช์ปิดท้าย
ต้องใช้ Visual Studio รุ่นไหนกับ .NET 10
เมื่อ .NET 8 หมดซัพพอร์ต การขึ้น .NET 10 มักต้องขยับเครื่องมือด้วย ตารางของ Microsoft จับคู่รุ่น SDK กับ Visual Studio ไว้ดังนี้
| SDK | Visual Studio | สิ้นสุดซัพพอร์ตของ SDK |
|---|---|---|
| 8.0.1xx | 17.8 | พฤศจิกายน 2026 |
| 8.0.4xx | 17.11 | พฤศจิกายน 2026 |
| 9.0.3xx | 17.14 | พฤศจิกายน 2026 |
| 10.0.1xx | 18.0 (Visual Studio 2026) | พฤศจิกายน 2028 |
| 10.0.4xx | 18.9 (Visual Studio 2026) | พฤศจิกายน 2028 |
SDK สาย 10.0.2xx และ 10.0.3xx มีอายุสั้น หมดในเดือนพฤษภาคมและสิงหาคม 2026 ตามลำดับ ทีมที่ล็อกรุ่น SDK ใน global.json หรือในระบบ CI จึงควรเลือกสาย 10.0.1xx หรือ 10.0.4xx ซึ่งได้ถึงพฤศจิกายน 2028
.NET 10 ให้อะไรเมื่อเทียบกับการอยู่ที่เดิม
เหตุผลหลักในการย้ายคือแพตช์ แต่ Microsoft ระบุของใหม่ที่ทีมพัฒนาได้เพิ่มด้วย
- ประสิทธิภาพ ปรับ JIT ทั้งการ inline และ devirtualization และรองรับ AVX10.2 กับ Arm64 SVE โดยการปรับ write barrier บน Arm64 ลดเวลาหยุดของ GC ได้ 8–20%
- NativeAOT แอปที่คอมไพล์ล่วงหน้ามีขนาดเล็กลงและเร็วขึ้น
- ความปลอดภัย ขยายการรองรับการเข้ารหัสหลังควอนตัม (PQC)
- ภาษา มาพร้อม C# 14 และ F# 10
- เครื่องมือ Aspire 13 ออกพร้อม .NET 10 สำหรับจัดการแอปกระจายหลายส่วน
Azure Functions แบบ in-process คือเส้นตายที่ถูกมองข้าม
วันเดียวกับที่ .NET 8 หมดซัพพอร์ต เอกสารของ Microsoft ระบุว่าซัพพอร์ต in-process model ก็สิ้นสุดลง งานนี้ไม่ใช่แค่เปลี่ยนเลขรุ่น แต่ต้องย้ายโปรเจกต์ไป isolated worker model ซึ่งเป็นรูปแบบการทำงานคนละแบบ จึงควรเผื่อเวลาทดสอบ
- หาแอปที่เกี่ยวข้อง ใช้สคริปต์ Azure PowerShell ในเอกสาร ซึ่งใช้
Get-AzFunctionAppลิสต์แอปที่รันไทม์เป็น dotnet ใน subscription - เลือกเป้าหมาย ถ้าแอปและ dependency รันบน .NET ได้ ให้ไป .NET 10 ถ้าต้องใช้ไลบรารีเฉพาะ .NET Framework ให้ไป .NET Framework 4.8
- ย้ายโปรเจกต์ในเครื่องก่อน แล้วทดสอบ ก่อนย้ายแอปบน Azure
- ตรวจรุ่น Functions runtime คู่มือนี้ใช้กับเวอร์ชัน 4.x ถ้ายังเป็นรุ่นเก่า ต้องขึ้นเวอร์ชันก่อน
ทีมที่ทำไม่ทันควรคุยกับเจ้าของระบบว่าฟังก์ชันใดเสี่ยงที่สุด และเริ่มจากฟังก์ชันที่รับข้อมูลจากภายนอกก่อน

วิธีเตรียมตัวก่อน .NET 8 หมดซัพพอร์ต
- สำรวจให้ครบ รัน
dotnet --list-runtimesและdotnet --list-sdksบนเครื่อง แล้วตรวจ base image ของคอนเทนเนอร์ และแอปแบบ self-contained แยกต่างหาก - อ่านรายการ breaking changes ของ .NET 10 Microsoft แยกการเปลี่ยนแปลง เป็นแบบ binary, source และ behavioral เช่น image เริ่มต้นของ .NET เปลี่ยนมาใช้ Ubuntu
- เลือกเครื่องมือช่วยย้าย .NET Upgrade Assistant ถูกยกเลิกแล้ว Microsoft แนะนำ GitHub Copilot modernization agent ซึ่งมาใน Visual Studio 2026 และ Visual Studio 2022 17.14.16 ขึ้นไป
- ติดตั้งแพตช์ล่าสุดก่อนย้าย นโยบายของ Microsoft กำหนดให้ต้องอยู่บนแพตช์ล่าสุดจึงจะได้ซัพพอร์ต
- เริ่มจากแอปเล็ก ย้ายบริการที่มีความเสี่ยงต่ำก่อน เพื่อหาปัญหาของ dependency แล้วจึงย้ายระบบหลัก

ผลต่อองค์กรไทย
องค์กรที่มีระบบ .NET พัฒนาเองหรือจ้างผู้รับจ้างดูแล ควรเริ่มจากการรู้ว่าระบบไหนมีใครรับผิดชอบ เพราะเวลาที่เหลือไม่พอให้สำรวจซ้ำหลายรอบ สิ่งที่ควรทำภายในสัปดาห์นี้มีดังนี้
- ทำรายการแอปก่อน .NET 8 หมดซัพพอร์ต ระบุว่าแอปใดอยู่บน .NET 8, .NET 9 หรือ in-process และใครรับผิดชอบ
- จัดลำดับตามความเสี่ยง ระบบที่เปิดสู่อินเทอร์เน็ตหรือมีข้อมูลส่วนบุคคลตาม PDPA ควรย้ายก่อน
- ตรวจสัญญาผู้รับจ้าง ดูว่าการอัปเกรดรุ่นรวมอยู่ในสัญญาบำรุงรักษาหรือไม่
- อธิบายผู้บริหารให้ตรงประเด็น บอกว่า .NET 8 หมดซัพพอร์ตไม่ได้ทำให้ระบบหยุด แต่ทำให้ระบบไม่มีแพตช์ การตัดสินใจเรื่องงบและเวลาจึงอยู่บนข้อเท็จจริง
- แยกงานเป็นสองราง งานขยับรุ่นของแอปทั่วไปทำคู่ขนานกับงานย้าย Azure Functions ซึ่งต้องแก้โปรเจกต์มากกว่า เพื่อไม่ให้งานหนึ่งรออีกงาน
- บันทึกการรับความเสี่ยง ถ้าย้ายไม่ทันกำหนด ควรมีแผนและวันเสร็จที่ผู้บริหารรับทราบ
เมื่อ .NET 8 หมดซัพพอร์ตแล้ว แอปจะยังรันได้ แต่ทุกวันหลังจากนั้นคือความเสี่ยงที่ไม่มีแพตช์รองรับ ติดตามวันหมดซัพพอร์ตของซอฟต์แวร์อื่นได้ที่หมวดซอฟต์แวร์
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
เมื่อ .NET 8 หมดซัพพอร์ตวันที่ 10 พ.ย. 2026 พร้อม .NET 9 และ Azure Functions แบบ in-process ทางเลือกหลักคือ .NET 10 LTS ที่ได้แพตช์ถึงปี 2028 องค์กรที่มีระบบ .NET เดิมจึงต้องทดสอบก่อนย้าย THAI DATA CLOUD มี Cloud Windows Server ที่เข้าใช้ผ่าน RDP ได้ทันที บน Data Center ไทยและสิงคโปร์ (THAI DATA CLOUD เป็นผู้ดำเนินงานเว็บไซต์นี้)
ภาพบันทึก

คำถามที่พบบ่อย
.NET 8 หมดซัพพอร์ตวันไหน?
.NET 8 หมดซัพพอร์ตวันที่ 10 พฤศจิกายน 2026 ตามหน้า support policy ของ Microsoft แม้เป็นรุ่น LTS ที่ได้ซัพพอร์ต 3 ปี .NET 9 ซึ่งเป็นรุ่น STS ก็หมดวันเดียวกัน ทั้งสองรุ่นอยู่ในช่วง Maintenance แล้ว และรุ่นล่าสุดคือ 8.0.33 กับ 9.0.22
.NET 8 หมดซัพพอร์ตแล้ว แอปจะหยุดทำงานหรือไม่?
ไม่หยุดทำงานทันที แต่หลัง .NET 8 หมดซัพพอร์ต Microsoft จะไม่ให้แพตช์ การแก้ไข หรือความช่วยเหลือทางเทคนิคออนไลน์อีก ช่องโหว่ที่พบหลังจากนั้นจึงไม่มีแพตช์ทางการ Microsoft แนะนำให้ย้ายไปรุ่นใหม่กว่า และลดการใช้รุ่นนั้นลง
ควรขึ้น .NET 10 หรือรอ .NET 11?
องค์กรส่วนใหญ่ควรเลือก .NET 10 เพราะออกแล้ว เป็น LTS และได้ซัพพอร์ตถึง 14 พฤศจิกายน 2028 ส่วน .NET 11 เป็นเลขคี่ จึงเป็นรุ่น STS ที่ได้ซัพพอร์ต 2 ปีตามนโยบาย ทีมที่ต้องการฟีเจอร์ใหม่จึงค่อยพิจารณา และเอกสารย้าย Azure Functions ก็แนะนำให้ใช้ .NET 10
ตรวจอย่างไรว่าเครื่องยังใช้ .NET 8 อยู่?
รันคำสั่ง dotnet --list-runtimes เพื่อดูรุ่นรันไทม์ และ dotnet --list-sdks เพื่อดูรุ่น SDK บนเครื่อง ส่วน Azure Functions ใช้สคริปต์ Azure PowerShell ในเอกสารของ Microsoft เพื่อลิสต์ function app ใน subscription แอปแบบ self-contained และคอนเทนเนอร์ต้องตรวจแยกจากเครื่อง
แหล่งอ้างอิง
- .NET and .NET Core Support Policy — Microsoft
- Migrate C# apps from the in-process model to the isolated worker model — Microsoft Learn
- Announcing .NET 10 — Microsoft .NET Blog
- .NET STS releases supported for 24 months — Microsoft .NET Blog
- What is .NET Upgrade Assistant? — Microsoft Learn
- .NET SDK, MSBuild, and Visual Studio versioning — Microsoft Learn
บุคคล องค์กร และสถานที่ในข่าวนี้
เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว
- องค์กรและบริษัท
- Microsoft192
- ประเทศและสถานที่
- สิงคโปร์182
- ผลิตภัณฑ์และเทคโนโลยี
- .NET21Azure Functions5GitHub Copilot19Microsoft Azure78Ubuntu60Windows Server26
- กฎหมายและมาตรฐาน
- PDPA242
พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ