Individual skill
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/SKILL.md
Source commit 281e39451fb4487b4828d62fcb51ca853589a185
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 5,862
- Repository last updated
- Nov 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- engineering Derived category
- devops Derived category
- docs Derived category
- devops-containers Derived category
- docs-api Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 19,387 bytesSKILL.mdcore · 19,387 bytesSKILL.mdcore · 19,387 bytesSKILL.mdcore · 19,387 bytesSKILL.mdcore · 19,387 bytesreferences/aspnet-core-dotnet9to10.mddoc · 6,827 bytesreferences/containers-interop-dotnet9to10.mddoc · 3,083 bytesreferences/core-libraries-dotnet9to10.mddoc · 4,914 bytesreferences/cryptography-dotnet9to10.mddoc · 2,849 bytesreferences/csharp-compiler-dotnet9to10.mddoc · 5,052 bytesreferences/efcore-dotnet9to10.mddoc · 6,638 bytesreferences/extensions-hosting-dotnet9to10.mddoc · 3,253 bytesreferences/sdk-msbuild-dotnet9to10.mddoc · 2,455 bytesreferences/serialization-networking-dotnet9to10.mddoc · 3,020 bytesreferences/winforms-wpf-dotnet9to10.mddoc · 3,482 bytes
Read excerpt
# .NET 9 → .NET 10 Migration
Migrate a .NET 9 project or solution to .NET 10, systematically resolving all breaking changes. The outcome is a project targeting `net10.0` that builds cleanly, passes tests, and accounts for every behavioral, source-incompatible, and binary-incompatible change introduced in the .NET 10 release.
## When to Use
- Upgrading `TargetFramework` from `net9.0` to `net10.0`
- Resolving build errors or new warnings after updating the .NET 10 SDK
- Adapting to behavioral changes in .NET 10 runtime, ASP.NET Core 10, or EF Core 10
- Updating CI/CD pipelines, Dockerfiles, or deployment scripts for .NET 10
- Migrating from the community `System.Linq.Async` package to the built-in `System.Linq.AsyncEnumerable`
## When Not to Use