NET. 11 Preview 7 منتشر شد: چی جدیده
مایکروسافت یازدهم آگوست، هفتمین preview از .NET 11 رو منتشر کرد؛ آخرین ایستگاههای preview قبل از نسخهی نهایی که قراره نوامبر ۲۰۲۶ بهعنوان یه نسخهی Standard Term Support (STS) عرضه بشه. این preview تغییرات قابلتوجهی تو کتابخونهها، runtime، SDK، سیشارپ، ASP.NET Core، MAUI، Entity Framework Core، افشارپ، و Windows Forms داره.
کتابخونهها
چند تا اضافهی جالب تو این بخش هست: پشتیبانی از نوعهای اعشاری IEEE 754 و یه نوع generic برای اعداد مختلط (Complex<T>)، که برای کارهای علمی و محاسباتی مفیده. علاوه بر این، فشردهسازی HTTP request (نه فقط response که قبلاً بود) و کنترل قابلتنظیم برای eviction اتصالات HTTP هم اضافه شده. تو حوزهی شبکه، API های جدیدی برای resolve کردن رکوردهای DNS اومده، و تو حوزهی فایل، پشتیبانی از رمز عبور برای فایلهای ZIP و چند تا API جدید برای ساخت، استخراج، و متادیتای ZIP هم اضافه شده.
Runtime
تمرکز اصلی رو بهبود Runtime Async بوده؛ با بهینهسازیهای جدید تو tiering و tail-await که مستقیم به سرعت اجرای متدهای async کمک میکنه. یه نکتهی فنی جالب دیگه اینه که CoreCLR روی WebAssembly حالا کل test suite کتابخونهها رو پاس میکنه؛ یعنی بلوغ اجرای .NET رو خود Wasm داره جدیتر میشه. بهبودهایی هم تو JIT، code generation، NativeAOT، و ابزارهای diagnostic اومده.
SDK
اینجا چند تا تغییر عملی برای کار روزمره هست:
- NativeAOT حالا بهصورت پیشفرض تو دستور
dotnetفعاله؛ یه قدم بزرگ به سمت اینکه compile کردن به native code استاندارد بشه، نه یه گزینهی جانبی. - MSBuild server بهصورت پیشفرض فعاله؛ که یعنی build های بعدی معمولاً سریعتر انجام میشن چون از یه پروسهی از قبل بالا استفاده میکنن.
dotnet testچند تا قابلیت جدید گرفته: فلگهای سطح-اجرا مثل--timeoutو--maximum-failed-tests، پشتیبانی از پروژههایMicrosoft.Build.Traversal، بهبود گزارشگیری روMicrosoft.Testing.Platform، و پشتیبانی از دستگاه و محیط MAUI.- اپهای file-based (همون قابلیت جدید اجرای مستقیم فایلهای
.csبدون پروژه) حالا دستورdotnet referenceو رفع چند باگ up-to-date-check رو هم دارن. - publish کردن container حالا runtime های native پلتفرم رو ترجیح میده.
سیشارپ
از نظر زبانی، چهار تا ویژگی مهم اضافه شده:
breakوcontinueبا برچسب (labeled)؛ یعنی میشه مشخص کرد کدوم حلقه از چند تا حلقهی تودرتو باید break یا continue بشه، بدون نیاز به flag های دستی.- الگوهای union (union pattern) حالا هم خود union و هم مقدار داخلیش رو match میکنن.
- بهبود exhaustiveness checking برای type parameter هایی که به یه closed type محدود شدن.
- تغییراتی تو «Unsafe Evolution»؛ شامل یه حالت سازگاری (compat mode) و رفتار
nameofتو کد unsafe.
ASP.NET Core
بخش Blazor بیشترین تغییرات رو گرفته:
- توقف خودکار circuit های Blazor موقع بیفعالیتی؛ که مصرف منابع سرور رو برای سشنهای رهاشده کاهش میده.
- یه ویژگی جدید به اسم
CacheViewبرای کش کردن خروجی Blazor SSR. - چند تا analyzer جدید برای Blazor که مشکلات رایج رو زودتر گزارش میکنن.
QuickGridحالاInitialItemIndexوScrollToItemAsyncرو پشتیبانی میکنه؛ یعنی کنترل بهتری رو موقعیت اسکرول و آیتم اولیهی grid داری.- ابزار
wasm-toolsبه Emscripten 6 آپدیت شده.
علاوه بر این، Razor حالا attribute های literal رو برای پارامترهای کامپوننت از نوع union قبول میکنه، validation localization بهصورت built-in اضافه شده، کلاینت SignalR .NET حالا بعد از redirect هم میتونه auth رو refresh کنه، و OpenAPI پشتیبانی از Server-Sent Events تو نسخهی OpenAPI 3.2 رو گرفته.
.NET MAUI
چند تا قابلیت جدید و کاربردی:
- احراز هویت با passkey بهصورت cross-platform؛ یعنی دیگه لازم نیست پیادهسازی جدا برای هر پلتفرم بنویسی.
- XAML Incremental Hot Reload؛ که سرعت دیدن تغییرات UI موقع توسعه رو بهبود میده.
- الگوهای route جدید برای Shell.
- binding های
RelativeSourceکه با AOT سازگارن. - پشتیبانی از backend های platform-specific شخص ثالث.
TabbedPageحالا رو پلتفرمهای اپل از همون معماری handler استفاده میکنه که بقیهی کنترلها استفاده میکنن.
Entity Framework Core
بهبودهایی تو ترجمهی کوئری LINQ، بهبود provider مربوط به Azure Cosmos DB، بهبود migration ها، و پشتیبانی از نوع Half رو SQLite اضافه شده.
افشارپ
چهار تا بهبود کوچیکتر ولی مفید: binding های computation expression حالا داخل یه let ساده هم کار میکنن، attribute ها داخل ماژولها و namespace های recursive درست resolve میشن، پیام تشخیصی واضحتری برای type abbreviation های generic اضافه شده، و یه باگ مربوط به محاسبهی سایز StructLayout برای union های struct بدون داده رفع شده.
Windows Forms
تمرکز این بخش رو Dark Mode بوده؛ پنج تا pull request مستقیم به بهبود ظاهر تو حالت تاریک اختصاص داشته (شامل ToolTip، HelpProvider، LinkLabel، TabControl تودرتو، و آیکونهای چک تو ToolStrip). علاوه بر این:
- یه حالت اختیاری جدید به اسم
VisualStylesModeبرای شخصیسازی بیشتر ظاهر کنترلها. - جلوگیری از فلاش سفید موقع باز شدن فرمها تو dark mode، با تأخیر انداختن نمایش فرم تا زمانی که استایلها اعمال بشن.
- توقف رندر موقع تغییرات دستهای (bulk) رو کنترلها، مثل تغییر همزمان موقعیت و سایز.
- ظاهر toggle-switch برای
CheckBoxوRadioButton. - رفع چند باگ پایداری، شامل یه کرش GDI+ تو
SplitContainerو یه exception تو اسکرولToolStrip.
این preview تو چه فضایی منتشر شده
نکتهی جالب اینه که واکنش جامعهی توسعهدهندهها به کل چرخهی .NET 11 (نه فقط این preview) صرفاً مثبت نبوده. بعضی توسعهدهندهها نسبت به افزایش پیچیدگی زبان سیشارپ و سرعت انتشار نسخههای بزرگ ابراز نگرانی کردن. همچنین، نقشهی راه ASP.NET Core تو .NET 11 تمرکز زیادی رو «Agentic AI» گذاشته (از جمله پشتیبانی از Model Context Protocol تا اپلیکیشنهای .NET بتونن بهعنوان ابزار برای agent های هوش مصنوعی عمل کنن)؛ جهتی که بعضی توسعهدهندهها معتقدن داره روی نیازهای اصلی و پایهای framework سایه میندازه.
چطور امتحانش کنیم
برای شروع، کافیه SDK نسخهی .NET 11 رو نصب کنی. اگه رو ویندوز با Visual Studio کار میکنی، مایکروسافت توصیه میکنه از آخرین نسخهی Visual Studio 2026 Insiders استفاده کنی؛ از Visual Studio Code هم با extension مربوط به C# Dev Kit میشه استفاده کرد. یادت باشه این هنوز preview است، نه نسخهی نهایی، پس برای production حتماً صبر کن تا نسخهی پایدار نوامبر منتشر بشه؛ ولی برای آشنایی زودهنگام با تغییرات و کاهش ریسک آپدیت آینده، امتحانش کردنش الان ارزش داره.
