migrate-dotnet10-to-dotnet11

Migrates .NET 10 projects to .NET 11 and resolves all breaking changes.

Updated Jul 12, 2026
One-click install
npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill migrate-dotnet10-to-dotnet11-patrick-rex
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: migrate-dotnet10-to-dotnet11
Source: https://github.com/Patrick-Rex/DotNetTechSamples/tree/main/.agents/plugins/dotnet-upgrade/skills/migrate-dotnet10-to-dotnet11
Command: npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill migrate-dotnet10-to-dotnet11-patrick-rex

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Upgrading a project from .NET 10 to .NET 11 introduces source-breaking, behavioral, and binary-incompatible changes across the runtime, C# 15 compiler, ASP.NET Core, and EF Core. This Skill systematically guides the migration so the project targets net11.0, builds cleanly, and passes tests without missing hidden behavioral changes. ## Core Features & Use Cases - Structured six-step migration workflow: Assess the project, update the TargetFramework, fix compilation errors, address behavioral changes, update infrastructure (Dockerfiles, CI/CD, global.json), and verify with clean builds and tests. - Comprehensive breaking-change references: Seven reference documents covering C# 15 compiler changes, core libraries, SDK/MSBuild, ASP.NET Core, EF Core, cryptography, and runtime/JIT hardware requirements, loaded on demand based on project type. - Use Case: You update your SDK to .NET 11 and your solution fails to build with SYSLIB0063 warnings and EF Core Cosmos sync I/O errors. This Skill identifies each applicable breaking change and provides concrete fixes, such as removing the obsoleted isConnected parameter and converting synchronous Cosmos calls to async equivalents. ## Quick Start Ask the AI to migrate your .NET 10 solution to .NET 11 by pointing it at your .csproj, .sln, or .slnx file and letting it detect the build and test commands automatically.

Frequently Asked Questions about migrate-dotnet10-to-dotnet11

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate a .NET 10 project to .NET 11?

Update the TargetFramework from net10.0 to net11.0 in each .csproj, bump Microsoft package references to 11.0.x versions, then run dotnet restore and dotnet build. Work through the resulting errors using the breaking-change references for the compiler, core libraries, ASP.NET Core, and EF Core.

What are the breaking changes in .NET 11?

Key changes include C# 15 span collection expression safe-context rules, obsoletion of the NamedPipeClientStream isConnected constructor (SYSLIB0063), EF Core Cosmos sync I/O removal, Microsoft.OpenApi v3 in ASP.NET Core, and new minimum hardware requirements (x86-64-v2, Arm64 LSE).

Can I use this migration path from .NET 9 or .NET Framework?

No. This migration only covers .NET 10 to .NET 11. Upgrading from .NET 9 or earlier requires addressing the .NET 9-to-10 breaking changes first, and .NET Framework migration is a separate, larger effort.

Why does my build fail with SYSLIB0063 after upgrading to .NET 11?

The NamedPipeClientStream constructor accepting a bool isConnected parameter is obsoleted in .NET 11, and projects with TreatWarningsAsErrors fail to build. Remove the isConnected argument and use the new three-parameter constructor taking PipeDirection, isAsync, and SafePipeHandle.

Does .NET 11 run on older CPUs?

No. .NET 11 raises the x86/x64 baseline to x86-64-v2, requiring SSE4.2, POPCNT, and related instruction sets, and Windows Arm64 now requires LSE. Hardware from roughly 2013 or later generally meets the x86-64-v2 requirement.

How do I fix EF Core Cosmos DB errors after upgrading to EF Core 11?

Synchronous I/O on the Cosmos provider always throws in EF Core 11 with no opt-in. Convert calls like ToList(), SaveChanges(), and First() to their async equivalents such as ToListAsync(), SaveChangesAsync(), and FirstAsync().