dotnet-upgrade
Scannednpx machina-cli add skill github/awesome-copilot/dotnet-upgrade --openclawProject 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.csprojfor its currentTargetFrameworkand 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.configprojects needing migration toPackageReferenceformat."
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
TargetFrameworkfor 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@2andNuGetToolInstallertasks." -
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" prompt: "Identify deprecated APIs or removed namespaces between target versions. Suggest automated scanning using
.NET Upgrade Assistantand API Analyzer." -
name: "API Replacement Strategy" prompt: "Recommend replacement APIs or libraries for known breaking areas. Review configuration changes such as
Startup.cs→Program.csrefactoring." -
name: "Regression Testing Focus" prompt: "Suggest regression testing scenarios focused on upgraded API endpoints or services. Create test plans for critical functionality validation."
Version Control & Commit Strategy
-
name: "Branching Strategy Planning" prompt: "Recommend branching strategy for safe upgrade with rollback capability. Generate commit templates for partial and complete project upgrades."
-
name: "PR Structure Optimization" prompt: "Suggest best practices for creating structured PRs (
Upgrade to .NET [Version]). Identify tagging strategies for PRs involving breaking changes." -
name: "Code Review Guidelines" prompt: "Recommend peer review focus areas (build, test, and dependency validation). Create checklists for effective upgrade reviews."
Documentation & Communication
-
name: "Upgrade Documentation Strategy" prompt: "Suggest how to document each project's framework change in the PR. Propose automated release note generation summarizing upgrades and test results."
-
name: "Stakeholder Communication" prompt: "Recommend communicating version upgrades and migration timelines to consumers. Generate documentation templates for dependency updates and validation results."
-
name: "Progress Tracking Systems" prompt: "Suggest maintaining an upgrade summary dashboard or markdown checklist. Create templates for tracking upgrade progress across multiple projects."
Tools & Automation
-
name: "Upgrade Tool Selection" prompt: "Recommend when and how to use:
.NET Upgrade Assistant,dotnet list package --outdated,dotnet migrate, andgraph.jsondependency visualization." -
name: "Analysis Script Generation" prompt: "Generate scripts or prompts for analyzing dependency graphs before upgrading. Propose AI-assisted prompts for Copilot to identify upgrade issues automatically."
-
name: "Multi-Repository Validation" prompt: "Suggest how to validate automation output across multiple repositories. Create standardized validation workflows for enterprise-scale upgrades."
Final Validation & Delivery
-
name: "Final Solution Validation" prompt: "Generate validation steps to confirm the final upgraded solution passes all validation checks. Suggest production deployment verification steps post-upgrade."
-
name: "Deployment Readiness Confirmation" prompt: "Recommend generating final test results and build artifacts. Create a checklist summarizing completion across projects (builds/tests/deployment)."
-
name: "Release Documentation" prompt: "Generate a release note summarizing framework changes and CI/CD updates. Create comprehensive upgrade summary documentation."
Source
git clone https://github.com/github/awesome-copilot/blob/main/plugins/csharp-dotnet-development/skills/dotnet-upgrade/SKILL.mdView on GitHub Overview
dotnet-upgrade offers ready-to-use prompts to analyze, plan, and execute a full .NET framework upgrade. It covers project discovery, dependency checks, target framework decisions, code modernization, NuGet management, CI/CD updates, and thorough testing validation to ensure a smooth transition.
How This Skill Works
A curated set of prompts guides you through discovery, strategy, targeting, and validation. It identifies project types, reviews dependencies, detects legacy packages, plans upgrade sequencing, recommends target frameworks, analyzes code modernization needs, and outlines pipeline and testing updates before validating the upgraded solution.
When to Use It
- Preparing a multi-project solution containing .NET Framework, .NET Core, and .NET Standard projects for upgrade
- Assessing dependencies and legacy packages prior to upgrading
- Planning an incremental upgrade with rollback checkpoints
- Modernizing CI/CD pipelines and build configurations for .NET 8 adoption
- Verifying build, test, deployment readiness after the upgrade
Quick Start
- Step 1: Run discovery prompts (Project Classification Analysis, Dependency Compatibility Review, Legacy Package Detection) to map scope
- Step 2: Use upgrade strategy prompts (Project Upgrade Ordering, Incremental Strategy Planning, Progress Tracking Setup) to plan and track
- Step 3: Apply framework targeting, code modernization, NuGet/dependency updates, and CI/CD improvements; run Build Validation and Deployment Readiness checks
Best Practices
- Start with project classification to map scope and dependencies before touching code
- Upgrade least-dependent projects first to reduce ripple effects
- Leverage Upgrade Assistant where suitable; fall back to manual steps for complex cases
- Validate both transitive dependencies and potential version conflicts early
- Use feature branches with automated build/test validation and document rollback checkpoints
Example Use Cases
- Upgrading a mixed solution (netfx, netcore, netstandard) to net8.0 with staged target framework updates
- Migrating legacy packages.config projects to PackageReference and updating NuGet dependencies
- Replacing WebHostBuilder with HostBuilder as part of modernizing ASP.NET Core hosting
- Updating YAML pipelines to UseDotNet@2 and NuGetToolInstaller for .NET 8 migration
- Running automated unit and integration tests post-upgrade and validating service connectivity