awesome-copilot/prompts/dotnet-upgrade-prompts.md
kshashank57 8d632d2b3d
Add .NET Upgrade Prompts documentation
This document provides a comprehensive set of prompts for analyzing, planning, executing, and validating framework upgrades for multi-project .NET solutions, covering various aspects from project discovery to final validation.
2025-10-16 13:34:13 +05:30

4.8 KiB
Raw Blame History

.NET Upgrade Prompts

Purpose

Prompts for analyzing, planning, executing, and validating framework upgrades for multi-project .NET solutions — including .NET Core, .NET Framework, and .NET Standard migrations.

Prompts

Project Discovery & Assessment

  • 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.
  • Review external and internal dependencies for framework compatibility.
  • Determine the upgrade complexity based on dependency graph depth.
  • Identify legacy packages.config projects needing migration to PackageReference.

Upgrade Strategy & Sequencing

  • Recommend a project upgrade order from least to most dependent components.
  • Suggest how to isolate class library upgrades before API or Azure Function migrations.
  • Propose an incremental upgrade strategy with rollback checkpoints.
  • Evaluate the use of Upgrade Assistant or manual upgrades based on project structure.
  • Generate an upgrade checklist for tracking build, test, and deployment readiness.

Framework Targeting & Code Adjustments

  • Suggest the correct TargetFramework for each project (e.g., net8.0).
  • Review and update deprecated SDK or build configurations.
  • Identify code patterns needing modernization (e.g., WebHostBuilderHostBuilder).
  • Suggest replacements for deprecated .NET APIs and third-party libraries.
  • Recommend conversion of synchronous calls to async where appropriate.

NuGet & Dependency Management

  • Analyze outdated or incompatible NuGet packages and suggest compatible versions.
  • Identify third-party libraries that lack .NET 8 support and provide migration paths.
  • Recommend strategies for handling shared dependency upgrades across projects.
  • Evaluate usage of legacy packages and suggest alternatives in Microsoft-supported namespaces.
  • Review transitive dependencies and potential version conflicts after upgrade.

CI/CD & Build Pipeline Updates

  • Analyze YAML build definitions for SDK version pinning and recommend updates.
  • Suggest modifications for UseDotNet@2 and NuGetToolInstaller tasks.
  • Generate updated build pipeline snippets for .NET 8 migration.
  • Recommend validation builds on feature branches before merging to main.
  • Identify opportunities to automate test and build verification in CI pipelines.

Testing & Validation

  • Propose validation checks to ensure the upgraded solution builds and runs successfully.
  • Recommend automated test execution for unit and integration suites post-upgrade.
  • Generate prompts to verify logging, telemetry, and service connectivity.
  • Suggest strategies for verifying backward compatibility and runtime behavior.
  • Recommend UAT deployment verification steps before production rollout.

Breaking Change Analysis

  • Identify deprecated APIs or removed namespaces between target versions.
  • Suggest automated scanning using .NET Upgrade Assistant and API Analyzer.
  • Recommend replacement APIs or libraries for known breaking areas.
  • Review configuration changes such as Startup.csProgram.cs refactoring.
  • Suggest regression testing prompts focused on upgraded API endpoints or services.

Version Control & Commit Strategy

  • Recommend branching strategy for safe upgrade with rollback capability.
  • Generate commit templates for partial and complete project upgrades.
  • Suggest best practices for creating structured PRs (Upgrade to .NET [Version]).
  • Identify tagging strategies for PRs involving breaking changes.
  • Recommend peer review focus areas (build, test, and dependency validation).

Documentation & Communication

  • Suggest how to document each projects framework change in the PR.
  • Propose automated release note generation summarizing upgrades and test results.
  • Recommend communicating version upgrades and migration timelines to consumers.
  • Generate documentation prompts for dependency updates and validation results.
  • Suggest maintaining an upgrade summary dashboard or markdown checklist.

Tools & Automation

  • Recommend when and how to use:
    • .NET Upgrade Assistant
    • dotnet list package --outdated
    • dotnet migrate
    • graph.json dependency visualization
  • Generate scripts or prompts for analyzing dependency graphs before upgrading.
  • Propose AI-assisted prompts for Copilot to identify upgrade issues automatically.
  • Suggest how to validate automation output across multiple repositories.

Final Validation & Delivery

  • Generate prompts to confirm the final upgraded solution passes all validation checks.
  • Suggest production deployment verification steps post-upgrade.
  • Recommend generating final test results and build artifacts.
  • Create a checklist summarizing completion across projects (builds/tests/deployment).
  • Generate a release note summarizing framework changes and CI/CD updates.