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.
This commit is contained in:
kshashank57 2025-10-16 13:34:13 +05:30 committed by GitHub
parent 0578daf8d6
commit 8d632d2b3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -0,0 +1,86 @@
# .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., `WebHostBuilder``HostBuilder`).
- 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.cs``Program.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.