dotnet-upgrade

مهاجرت ایمن پروژه‌های .NET و رفع ناسازگاری‌های نسخه‌ای، nullable و Native AOT

این bundle مجموعه‌ای از مهارت‌ها برای ارتقای پروژه‌های .NET است؛ از مهاجرت بین نسخه‌های .NET 8 تا .NET 11 و فعال‌سازی nullable reference types تا سازگارکردن کد با Native AOT و جایگزینی الگوهای قدیمی مانند Thread.Abort.

این مهارت با شناسایی breaking changeها، هشدارهای compiler و مشکلات رفتاری، مسیر مهاجرت را مرحله‌به‌مرحله روشن می‌کند و به‌روزرسانی کد، تنظیمات پروژه، CI/CD و Dockerfile را هدفمندتر و کم‌ریسک‌تر می‌سازد.

چه چیزی می‌گیرید

  • مهاجرت پروژه‌ها از .NET 8 به .NET 9، .NET 9 به .NET 10 و .NET 10 به .NET 11
  • رفع breaking changeهای C#، ASP.NET Core، EF Core، SDK و runtime
  • فعال‌سازی و رفع هشدارهای nullable reference types مانند CS8602 و CS8618
  • رفع هشدارهای trimming و Native AOT مانند IL2026 و IL3050
  • جایگزینی Thread.Abort و الگوهای توقف اجباری با cooperative cancellation

برای چه کاری خوب است

  • تیم‌هایی که قصد ارتقای یک solution موجود به نسخه جدید .NET را دارند
  • پروژه‌های C# قدیمی که می‌خواهند nullable یا Native AOT را به‌صورت تدریجی فعال کنند
  • مهاجرت برنامه‌های .NET Framework یا .NET مدرن که از Thread.Abort و APIهای منسوخ استفاده می‌کنند

برای چه کاری نیست

  • ساخت یک پروژه کاملاً جدید بدون نیاز به مهاجرت یا سازگارسازی
  • مهاجرت از نسخه‌های خارج از محدوده این bundle، مانند .NET 7 یا قدیمی‌تر
  • کتابخانه‌های third-party که کد آن‌ها در اختیار شما نیست و امکان اصلاح مستقیم ندارند

دربارهٔ این اسکیل

Install This Skill

CLIManual

/plugin marketplace add dotnet/skills
/plugin install dotnet-upgrade@dotnet-agent-skills
# This entry installs as a plugin, so there is no single SKILL.md to download.
open https://github.com/dotnet/skills/tree/main/plugins/dotnet-upgrade

Get new skills in your inbox. What we added, what we rejected, and why. See a past issue.

Email addressSubscribe

Skill bundle — 6 sub-skills

upstream is a skill bundle

This catalog entry is a skill bundle that ships 6 individual SKILL.md files. Each one is listed below — click through to read the full markdown on GitHub.

[dotnet-aot-compat \\
\> Make .NET projects compatible with Native AOT and trimming by systematically resolving IL trim/AOT analyzer warnings. USE FOR: making projects AOT-compatible, fixing trimming warnings, resolving IL warnings (IL2026, IL2070, IL2067, IL2072, IL3050), adding DynamicallyAccessedMembers annotations, enabling IsAotCompatible. DO NOT USE FOR: publishing native AOT binaries, optimizing binary size, replacing reflection-heavy libraries with alternatives. INVOKES: no tools — pure knowledge skill.\\
plugins/dotnet-upgrade/skills/dotnet-aot-compat](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/dotnet-aot-compat/SKILL.md) [migrate-dotnet10-to-dotnet11 \\
\> Migrate a .NET 10 project or solution to .NET 11 and resolve all breaking changes. This is a MIGRATION skill — use it when upgrading from .NET 10 to .NET 11, NOT for writing new programs. USE FOR: upgrading TargetFramework from net10.0 to net11.0, fixing build errors after updating the .NET 11 SDK, resolving source-breaking and behavioral changes in .NET 11 runtime, C# 15 compiler, and EF Core 11, adapting to updated minimum hardware requirements (x86-64-v2, Arm64 LSE), and updating CI/CD pipelines and Dockerfiles for .NET 11. DO NOT USE FOR: .NET Framework migrations, upgrading from .NET 9 or earlier, greenfield .NET 11 projects, or cosmetic modernization unrelated to the upgrade. NOTE: .NET 11 is in preview. Covers breaking changes through Preview 3.\\
plugins/dotnet-upgrade/skills/migrate-dotnet10-to-dotnet11](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/migrate-dotnet10-to-dotnet11/SKILL.md) [migrate-dotnet8-to-dotnet9 \\
\> Migrate a .NET 8 project to .NET 9 and resolve all breaking changes. USE FOR: upgrading TargetFramework from net8.0 to net9.0, fixing build errors after updating the .NET 9 SDK, resolving behavioral changes in .NET 9 / C# 13 / ASP.NET Core 9 / EF Core 9, replacing BinaryFormatter (now always throws), resolving SYSLIB0054-SYSLIB0057, adapting to params span overload resolution, fixing C# 13 compiler changes, updating HttpClientFactory for SocketsHttpHandler, and resolving EF Core 9 migration/Cosmos DB changes. DO NOT USE FOR: .NET Framework migrations, upgrading from .NET 7 or earlier, greenfield .NET 9 projects, or cosmetic modernization unrelated to the upgrade.\\
plugins/dotnet-upgrade/skills/migrate-dotnet8-to-dotnet9](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/migrate-dotnet8-to-dotnet9/SKILL.md) [migrate-dotnet9-to-dotnet10 \\
\> Migrate a .NET 9 project or solution to .NET 10 and resolve all breaking changes. USE FOR: upgrading TargetFramework from net9.0 to net10.0, fixing build errors after updating the .NET 10 SDK, resolving source and behavioral changes in .NET 10 / C# 14 / ASP.NET Core 10 / EF Core 10, updating Dockerfiles for Debian-to-Ubuntu base images, resolving obsoletion warnings (SYSLIB0058-SYSLIB0062), adapting to SDK/NuGet changes (NU1510, PrunePackageReference), migrating System.Linq.Async to built-in AsyncEnumerable, fixing OpenApi v2 API changes, cryptography renames, and C# 14 compiler changes (field keyword, extension keyword, span overloads). DO NOT USE FOR: .NET Framework migrations, upgrading from .NET 8 or earlier (use migrate-dotnet8-to-dotnet9 first), greenfield .NET 10 projects, or cosmetic modernization. LOADS REFERENCES: csharp-compiler, core-libraries, sdk-msbuild (always); aspnet-core, efcore, cryptography, extensions-hosting, serialization-networking, winforms-wpf, containers-interop (selective).\\
plugins/dotnet-upgrade/skills/migrate-dotnet9-to-dotnet10](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/migrate-dotnet9-to-dotnet10/SKILL.md) [migrate-nullable-references \\
\> Enable nullable reference types in a C# project and systematically resolve all warnings. USE FOR: adopting NRTs in existing codebases, file-by-file or project-wide migration, fixing CS8602/CS8618/CS86xx warnings, annotating APIs for nullability, cleaning up null-forgiving operators, upgrading dependencies with new nullable annotations. DO NOT USE FOR: projects already fully migrated with zero warnings (unless auditing suppressions), fixing a handful of nullable warnings in code that already has NRTs enabled, suppressing warnings without fixing them, C# 7.3 or earlier projects. INVOKES: Get-NullableReadiness.ps1 scanner script.\\
plugins/dotnet-upgrade/skills/migrate-nullable-references](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/migrate-nullable-references/SKILL.md) [thread-abort-migration \\
\> Guides migration of .NET Framework Thread.Abort usage to cooperative cancellation in modern .NET. USE FOR: modernizing code that calls Thread.Abort, catching ThreadAbortException, replacing Thread.ResetAbort, replacing Thread.Interrupt for thread termination, resolving PlatformNotSupportedException or SYSLIB0006 after retargeting to .NET 6+, migrating ASP.NET Response.End or Response.Redirect(url, true) which internally call Thread.Abort. DO NOT USE FOR: code that only uses Thread.Join, Thread.Sleep, or Thread.Start without any abort, interrupt, or ThreadAbortException usage — these APIs work identically in modern .NET and need no migration. Also not for projects staying on .NET Framework, or Thread.Abort usage inside third-party libraries you do not control.\\
plugins/dotnet-upgrade/skills/thread-abort-migration](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/skills/thread-abort-migration/SKILL.md)

Get new skills in your inbox. What we added, what we rejected, and why. See a past issue.

Email addressSubscribe

Related Skills

[Last 30 Days\\
\\
by mvanhorn\\
\\
A-rank\\
\\
Researches a topic across Reddit, X, YouTube, HN and the web, then synthesizes a grounded summary with its sources.\\
\\
ProductivityOpen Source\\
\\
ClaudeCodexMulti\\
\\
64.0K\\
\\
Open](https://agenticskills.io/skills/last30days)

[Find Skills\\
\\
by Vercel Labs\\
\\
S-rank\\
\\
Discover and install agent skills from the ecosystem — the meta-skill for skill discovery.\\
\\
ProductivityFree\\
\\
ClaudeCodexCursorGemini+1\\
\\
34.0K\\
\\
Open](https://agenticskills.io/skills/find-skills)

[Skill Creator\\
\\
by Anthropic\\
\\
S-rank\\
\\
Interactive Q&A-driven tool that guides you through building new SKILL.md files from scratch.\\
\\
ProductivityOpen Source\\
\\
ClaudeClaude\\
\\
180.7K\\
\\
Open](https://agenticskills.io/skills/skill-creator)

Quick Stats

Source repo · this path

Stars5,607

Forks439

Last commit2026-08-27

Contributors5

LicenseMIT

Category Productivity

Source [dotnet/skills](https://github.com/dotnet/skills/tree/main/plugins/dotnet-upgrade "https://github.com/dotnet/skills/tree/main/plugins/dotnet-upgrade")

Author

[.F\\
\\
.NET Foundation\\
\\
@dotnet](https://github.com/dotnet)

Tags

dotnetupgrademigrationmodernizationframework

Report this skill

Keep exploring

.NET Upgrade is one of 193 skills in the directory.

دانلود ZIP