.NET 11؛ انتشار با C# 15 و دو سال پشتیبانی

چرا مهم است

اگر برای برنامه‌ات نسخه بعدی .NET را انتخاب می‌کنی، مدت پشتیبانی هم مهم است. .NET 11 دو سال پشتیبانی دارد و .NET 10 همچنان گزینه‌ای با پشتیبانی بلندمدت است؛ کیفیت و سیاست نگهداری این دو یکسان است.

قبل از خواندن، این‌ها را بدان۵ مفهوم
AOT

روش compile کردن برنامه پیش از اجرا به کد بومی، به‌جای انجام این کار هنگام اجرای برنامه.

بیشتر: AOT

runtime

محیطی که اجرای برنامه و خدماتی مانند مدیریت حافظه و رسیدگی به خطاهای زمان اجرا را بر عهده دارد.

بیشتر: runtime

union type

نوعی که مقدار آن می‌تواند یکی از چند نوع مشخص باشد؛ مصرف‌کننده می‌تواند برای هر حالت رفتار جداگانه تعریف کند.

در حال نگارش: union type

closed hierarchy

ساختار ارث‌بری با محدودیت مشخص برای تعریف نوع‌های مشتق‌شده؛ این محدودیت به compiler امکان بررسی پوشش حالت‌های ممکن را می‌دهد.

در حال نگارش: closed hierarchy

CLI

روشی برای کار با یک برنامه از طریق واردکردن دستور متنی، به‌جای استفاده از محیط گرافیکی.

در حال نگارش: CLI

Microsoft نسخه .NET 11 را منتشر کرد. این نسخه از نوع Standard Term Support یا STS است و دو سال پشتیبانی دریافت می‌کند. سیاست کیفیت و ارائه به‌روزرسانی‌های نگهداری در نسخه‌های STS و LTS یکسان است؛ تفاوت در مدت پشتیبانی است. .NET 10 نیز همچنان گزینه LTS تحت پشتیبانی باقی می‌ماند.

در C# 15،؜ که نسخه پیش‌فرض زبان برای پروژه‌های هدف‌گیرنده .NET 11 است، union type اجازه می‌دهد یک مقدار از مجموعه‌ای مشخص از نوع‌ها باشد. compiler نیز کامل‌بودن پوشش حالت‌ها را در عبارت switch بررسی می‌کند. برای نمونه، نتیجه جست‌وجوی محصول می‌تواند خود محصول یا نوعی برای اعلام پیدانشدن آن باشد، بدون نیاز به استفاده از object یا یک کلاس پایه نامرتبط. قابلیت closed hierarchy هم ارث‌بری مستقیم از یک کلاس را به assembly تعریف‌کننده محدود می‌کند تا compiler بتواند الگوهای مربوط به آن را بررسی کند. قابلیت‌های اصلی معرفی‌شده به تنظیم نسخه preview زبان نیاز ندارند، اما کارهای مربوط به memory safety همچنان در preview هستند.

در ابزارهای توسعه، میزبان CLI مبتنی بر Native AOT به‌صورت پیش‌فرض فعال شده است. دستورهایی مثل راهنما و پرس‌وجوی نسخه می‌توانند بدون شروع CLI مدیریت‌شده اجرا شوند؛ دستورهایی که به اجرای مدیریت‌شده نیاز دارند، همچنان از همان مسیر استفاده می‌کنند. MSBuild server نیز به‌صورت پیش‌فرض بین اجراها آماده می‌ماند تا کار تکراری شروع اجرا کاهش یابد.

ASP.NET Core از asynchronous validation و OpenAPI 3.2 پشتیبانی می‌کند و قابلیت‌هایی برای Blazor و SignalR دارد. component‌های آزمایشی Blazor برای AI با Agent User Interaction Protocol یا AG-UI یکپارچه می‌شوند. در بخش ساخت برنامه‌های AI نیز Microsoft.Extensions.AI برای دسترسی به مدل، MCP برای اتصال ابزارها و Microsoft Agent Framework برای agent و گردش کار معرفی شده‌اند. .NET MAUI هم CoreCLR را به‌عنوان runtime پیش‌فرض به کار می‌گیرد.

کتابخانه‌ها پشتیبانی داخلی از فشرده‌سازی Zstandard،؜ اجرای ساده‌تر process و امکانات بیشتری برای JSON و کار با داده‌های درون حافظه بدون کپی اولیه دارند. بهینه‌سازی‌های runtime و کتابخانه‌ها نیز گسترده‌اند؛ بااین‌حال، متن انتشار تأکید می‌کند که اثر آن‌ها باید روی برنامه خودت اندازه‌گیری شود، چون زمان شروع، مصرف حافظه و اندازه خروجی به نوع کار و تنظیمات انتشار وابسته‌اند.

نکته کلیدی

برای مدل‌کردن نتیجه‌ای با چند نوع مشخص، را در C# 15 بررسی کن؛ compiler پوشش حالت‌ها را بررسی می‌کند. اگر رابطه ارث‌بری را خودت تعریف می‌کنی، گزینه دیگری برای همین بررسی است.

خواندن مقاله اصلی (در زبانه‌ی جدید باز می‌شود)
برچسب‌ها (۱۰)