
Dotnet Upgrade
Run structured discovery and sequencing prompts to plan and execute a .NET Framework→modern .NET upgrade across a solution.
Overview
Dotnet Upgrade is an agent skill most often used in Build (also Ship, Operate) that guides comprehensive .NET framework upgrade discovery, ordering, and incremental execution across a solution.
Install
npx skills add https://github.com/github/awesome-copilot --skill dotnet-upgradeWhat is this skill?
- Project Classification Analysis for TargetFramework and SDK usage per csproj
- Dependency Compatibility Review and legacy packages.config→PackageReference detection
- Project Upgrade Ordering from least to most dependent components
- Incremental strategy with rollback checkpoints and Upgrade Assistant vs manual guidance
- Upgrade checklist spanning build, test, and deployment readiness
- Nine named prompt stages from Project Classification through Progress Tracking Setup
Adoption & trust: 8.9k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your solution mixes .NET Framework, Core, and Standard targets with unclear dependency risk and no safe order to retarget projects.
Who is it for?
Solo maintainers upgrading legacy .NET Framework apps, shared libraries, or Azure Functions toward current .NET with agent-assisted csproj and package migration.
Skip if: Greenfield .NET 8 apps with no legacy packages.config, or teams that only need a single-package NuGet bump without framework migration.
When should I use this skill?
You need comprehensive .NET framework upgrade analysis and execution planning across a multi-project solution.
What do I get? / Deliverables
You get a classified project map, compatibility review, recommended upgrade sequence with rollback checkpoints, and a tracked checklist through build, test, and deployment readiness.
- Project classification by framework type
- Recommended upgrade order and incremental strategy
- Build-test-deploy readiness checklist
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build/backend because the skill centers on retargeting projects, csproj/SDK changes, and dependency compatibility before green builds return. Backend fits class libraries, APIs, and Azure Functions migrations rather than frontend or pure CI wiring alone.
Where it fits
Classify each library and API project before changing TargetFramework on the most depended-on assemblies first.
Use the generated checklist to confirm build and test gates after each incremental framework step.
Re-run dependency review when production still pins .NET Framework hosting and you plan a staged cutover.
How it compares
Use instead of guessing retarget order in chat—this skill mirrors formal upgrade-assistant style discovery and sequencing prompts.
Common Questions / FAQ
Who is dotnet-upgrade for?
Indie developers and small teams on Claude Code, Cursor, or Codex who own multi-project .NET solutions and need a structured migration plan before changing TargetFramework.
When should I use dotnet-upgrade?
In Build/backend when retargeting csproj files, during Ship/testing when validating post-upgrade builds, or in Operate/iterate when paying down framework debt on production APIs and functions.
Is dotnet-upgrade safe to install?
It is prompt-only guidance; review the Security Audits panel on this page and run upgrades on branches with backups before applying broad framework changes.
SKILL.md
READMESKILL.md - Dotnet Upgrade
# Project Discovery & Assessment - name: "Project Classification Analysis" prompt: "Identify all projects in the solution and classify them by type (`.NET Framework`, `.NET Core`, `.NET Standard`). Analyze each `.csproj` for its current `TargetFramework` and SDK usage." - name: "Dependency Compatibility Review" prompt: "Review external and internal dependencies for framework compatibility. Determine the upgrade complexity based on dependency graph depth." - name: "Legacy Package Detection" prompt: "Identify legacy `packages.config` projects needing migration to `PackageReference` format." # Upgrade Strategy & Sequencing - name: "Project Upgrade Ordering" prompt: "Recommend a project upgrade order from least to most dependent components. Suggest how to isolate class library upgrades before API or Azure Function migrations." - name: "Incremental Strategy Planning" prompt: "Propose an incremental upgrade strategy with rollback checkpoints. Evaluate the use of **Upgrade Assistant** or **manual upgrades** based on project structure." - name: "Progress Tracking Setup" prompt: "Generate an upgrade checklist for tracking build, test, and deployment readiness across all projects." # Framework Targeting & Code Adjustments - name: "Target Framework Selection" prompt: "Suggest the correct `TargetFramework` for each project (e.g., `net8.0`). Review and update deprecated SDK or build configurations." - name: "Code Modernization Analysis" prompt: "Identify code patterns needing modernization (e.g., `WebHostBuilder` → `HostBuilder`). Suggest replacements for deprecated .NET APIs and third-party libraries." - name: "Async Pattern Conversion" prompt: "Recommend conversion of synchronous calls to async where appropriate for improved performance and scalability." # NuGet & Dependency Management - name: "Package Compatibility Analysis" prompt: "Analyze outdated or incompatible NuGet packages and suggest compatible versions. Identify third-party libraries that lack .NET 8 support and provide migration paths." - name: "Shared Dependency Strategy" prompt: "Recommend strategies for handling shared dependency upgrades across projects. Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces." - name: "Transitive Dependency Review" prompt: "Review transitive dependencies and potential version conflicts after upgrade. Suggest resolution strategies for dependency conflicts." # CI/CD & Build Pipeline Updates - name: "Pipeline Configuration Analysis" prompt: "Analyze YAML build definitions for SDK version pinning and recommend updates. Suggest modifications for `UseDotNet@2` and `NuGetToolInstaller` tasks." - name: "Build Pipeline Modernization" prompt: "Generate updated build pipeline snippets for .NET 8 migration. Recommend validation builds on feature branches before merging to main." - name: "CI Automation Enhancement" prompt: "Identify opportunities to automate test and build verification in CI pipelines. Suggest strategies for continuous integration validation." # Testing & Validation - name: "Build Validation Strategy" prompt: "Propose validation checks to ensure the upgraded solution builds and runs successfully. Recommend automated test execution for unit and integration suites post-upgrade." - name: "Service Integration Verification" prompt: "Generate validation steps to verify logging, telemetry, and service connectivity. Suggest strategies for verifying backward compatibility and runtime behavior." - name: "Deployment Readiness Check" prompt: "Recommend UAT deployment verification steps before production rollout. Create comprehensive testing scenarios for upgraded components." # Breaking Change Analysis - name: "API Deprecation Detection" pr