diff --git a/docs/azure/migration/appmod/faq.md b/docs/azure/migration/appmod/faq.md index 36825cd0aa8fa..3c6b5ef300864 100644 --- a/docs/azure/migration/appmod/faq.md +++ b/docs/azure/migration/appmod/faq.md @@ -122,14 +122,17 @@ If Visual Studio fails to automatically upgrade AppCAT when a new version is ava ## What should I do if I see "Command failed: No .NET SDKs were found" errors? -This error occurs when AppCAT cannot find a compatible .NET SDK, even if you have other .NET SDKs installed. AppCAT requires the .NET 8.0 SDK to run properly. +This error occurs when AppCAT cannot find a compatible .NET SDK, even if you have other .NET SDKs installed. AppCAT requires the .NET 9.0 SDK to run properly. To fix this error: -1. Download and install the .NET 8 SDK from . +1. Download and install the .NET 9.0 SDK from . 2. Restart Visual Studio. 3. Run the assessment again. +> [!NOTE] +> The GitHub Copilot app modernization for .NET extension can automatically help you install or upgrade to .NET 9. If you have an older version of the extension, update to the latest version for automatic installation assistance for the required .NET 9.0 SDK. + ## Does the tool store my source code? No. The tool uses GitHub Copilot in the same way you use it to modify code, and doesn't retain code snippets beyond the immediate session. Telemetry metrics are collected and analyzed to track feature usage and effectiveness. diff --git a/docs/azure/migration/appmod/media/assessment-in-process.png b/docs/azure/migration/appmod/media/assessment-in-process.png new file mode 100644 index 0000000000000..e7c34bdf54a5d Binary files /dev/null and b/docs/azure/migration/appmod/media/assessment-in-process.png differ diff --git a/docs/azure/migration/appmod/media/assessment-report.png b/docs/azure/migration/appmod/media/assessment-report.png new file mode 100644 index 0000000000000..abe533c2db362 Binary files /dev/null and b/docs/azure/migration/appmod/media/assessment-report.png differ diff --git a/docs/azure/migration/appmod/media/modernization-welcome.png b/docs/azure/migration/appmod/media/modernization-welcome.png new file mode 100644 index 0000000000000..13b6f2e72ceeb Binary files /dev/null and b/docs/azure/migration/appmod/media/modernization-welcome.png differ diff --git a/docs/azure/migration/appmod/media/modernize-solution.png b/docs/azure/migration/appmod/media/modernize-solution.png new file mode 100644 index 0000000000000..359d0f519614c Binary files /dev/null and b/docs/azure/migration/appmod/media/modernize-solution.png differ diff --git a/docs/azure/migration/appmod/media/overview-assessment.png b/docs/azure/migration/appmod/media/overview-assessment.png new file mode 100644 index 0000000000000..a8a0ebe1c5470 Binary files /dev/null and b/docs/azure/migration/appmod/media/overview-assessment.png differ diff --git a/docs/azure/migration/appmod/media/overview-remediation.png b/docs/azure/migration/appmod/media/overview-remediation.png new file mode 100644 index 0000000000000..3af602662b803 Binary files /dev/null and b/docs/azure/migration/appmod/media/overview-remediation.png differ diff --git a/docs/azure/migration/appmod/media/overview-solution.png b/docs/azure/migration/appmod/media/overview-solution.png new file mode 100644 index 0000000000000..a9f89b49c62ab Binary files /dev/null and b/docs/azure/migration/appmod/media/overview-solution.png differ diff --git a/docs/azure/migration/appmod/media/overview_assessment.png b/docs/azure/migration/appmod/media/overview_assessment.png deleted file mode 100644 index ad9a01a262b98..0000000000000 Binary files a/docs/azure/migration/appmod/media/overview_assessment.png and /dev/null differ diff --git a/docs/azure/migration/appmod/media/overview_remediation.png b/docs/azure/migration/appmod/media/overview_remediation.png deleted file mode 100644 index efa80a391779a..0000000000000 Binary files a/docs/azure/migration/appmod/media/overview_remediation.png and /dev/null differ diff --git a/docs/azure/migration/appmod/media/overview_solution.png b/docs/azure/migration/appmod/media/overview_solution.png deleted file mode 100644 index dcc7ef0ed6581..0000000000000 Binary files a/docs/azure/migration/appmod/media/overview_solution.png and /dev/null differ diff --git a/docs/azure/migration/appmod/media/quickstart-chat-experience.png b/docs/azure/migration/appmod/media/quickstart-chat-experience.png new file mode 100644 index 0000000000000..99b6d8cafabcc Binary files /dev/null and b/docs/azure/migration/appmod/media/quickstart-chat-experience.png differ diff --git a/docs/azure/migration/appmod/media/quickstart-followup.png b/docs/azure/migration/appmod/media/quickstart-followup.png new file mode 100644 index 0000000000000..c67f676fbb3a9 Binary files /dev/null and b/docs/azure/migration/appmod/media/quickstart-followup.png differ diff --git a/docs/azure/migration/appmod/overview.md b/docs/azure/migration/appmod/overview.md index f3fb6f0595c7a..aa358a626dd62 100644 --- a/docs/azure/migration/appmod/overview.md +++ b/docs/azure/migration/appmod/overview.md @@ -57,19 +57,19 @@ App Modernization for .NET (Preview) supports the following scenarios: Evaluates your application's readiness for Azure migration in Visual Studio, powered by [AppCAT for .NET](../appcat/install.md). - ![Assessment](media/overview_assessment.png) + ![Assessment](media/overview-assessment.png) - **Solution recommendations** Recommends target Azure services for your application's resource dependencies, tailored to each category of assessed issues. - ![Solution](media/overview_solution.png) + ![Solution](media/overview-solution.png) - **Code remediation for common issues** Accelerates code changes for [common modernization issues](predefined-tasks.md) by applying predefined tasks that represent expert best practices. - ![Apply Task](media/overview_remediation.png) + ![Apply Task](media/overview-remediation.png) - **Automatic fixes for compilation errors:** diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md index acca8b870bb11..1f5cf06bfc4ef 100644 --- a/docs/azure/migration/appmod/predefined-tasks.md +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -3,7 +3,7 @@ title: Predefined tasks for GitHub Copilot app modernization for .NET (Preview) description: Learn about the predefined tasks that are available for GitHub Copilot app modernization for .NET ms.topic: concept-article ms.custom: devx-track-dotnet -ms.date: 7/15/2025 +ms.date: 9/17/2025 author: alexwolfmsft ms.author: alexwolf --- @@ -14,10 +14,13 @@ This article describes the predefined tasks available for GitHub Copilot app mod Predefined tasks capture industry best practices for using Azure services. Currently, App Modernization for .NET (Preview) offers predefined tasks that cover common migration scenarios. These tasks address the following subjects, and more: +- Database migration +- Storage migration - Secret management - Message queue integration -- Database migration +- Caching migration - Identity management +- Log management ## Predefined task list @@ -45,7 +48,7 @@ App Modernization for .NET currently supports the following predefined tasks: - **Migrate to Azure Service Bus** - Move from legacy or third-party message queues (such as MSMQ or RabbitMQ) to Azure Service Bus for reliable, cloud-based messaging. + Move from legacy or third-party message queues (such as MSMQ or RabbitMQ) or Amazon SQS (AWS Simple Queue Service) to Azure Service Bus for reliable, cloud-based messaging. - **Migrate to Azure Communication Service email** @@ -58,3 +61,7 @@ App Modernization for .NET currently supports the following predefined tasks: - **Migrate to OpenTelemetry on Azure** Transition from local logging frameworks like log4net, serilog, windows event log to OpenTelemetry on Azure. + +- **Migrate to Azure Cache for Redis** + + Replace in-memory or local Redis cache implementations with Azure Cache for Redis for high availability, scalability, and enterprise-grade security. diff --git a/docs/azure/migration/appmod/quickstart.md b/docs/azure/migration/appmod/quickstart.md index f0778334baa12..fae8a35d304ba 100644 --- a/docs/azure/migration/appmod/quickstart.md +++ b/docs/azure/migration/appmod/quickstart.md @@ -1,106 +1,93 @@ --- -title: GitHub Copilot app modernization for .NET (Preview) quickstart -description: Get started with GitHub Copilot app modernization for .NET -ms.topic: concept-article +title: Assess and migrate a .NET project with GitHub Copilot app modernization for .NET +ms.reviewer: alexwolf +description: Learn how to assess and migrate a .NET project by using GitHub Copilot app modernization for .NET. +ms.topic: quickstart ms.custom: devx-track-dotnet -ms.date: 7/15/2025 +ms.date: 09/22/2025 author: alexwolfmsft ms.author: alexwolf +#customer intent: As a .NET developer, I want to assess my project's migration readiness so that I can identify potential challenges and plan the modernization process effectively. --- -# Quickstart: Assess and migrate a .NET Project with GitHub Copilot app modernization for .NET (Preview) +# Quickstart: Assess and migrate a .NET project with GitHub Copilot app modernization for .NET -In this quickstart, you assess and migrate a .NET project using [GitHub Copilot app modernization for .NET (Preview)](https://aka.ms/appmod-dotnet-marketplace). You complete the following tasks: +In this quickstart, you assess and migrate a .NET project by using GitHub Copilot app modernization for .NET. You complete the following tasks: -- Install and configure the GitHub Copilot app modernization for .NET extension - Assess a sample project (Contoso University) - Start the migration process ## Prerequisites -Before you begin, ensure you have: +- Windows operating system +- [Visual Studio 2022 version 17.14.16 or newer](https://visualstudio.microsoft.com/downloads/) +- [.NET desktop development workload](/visualstudio/install/modify-visual-studio?view=vs-2022&preserve-view=true#change-workloads-or-individual-components) with these optional components enabled: + - GitHub Copilot + - GitHub Copilot app modernization for .NET +- GitHub account with Copilot access and a supported subscription plan: + - [Sign in to Visual Studio using a GitHub account](/visualstudio/ide/work-with-github-accounts) with [Copilot access](https://docs.github.com/copilot/about-github-copilot/what-is-github-copilot#getting-access-to-copilot). + - Supported subscription plans: Copilot Pro, Copilot Pro+, Copilot Business, or Copilot Enterprise. + - If you change subscriptions, restart Visual Studio. -- A GitHub account with [GitHub Copilot](https://github.com/features/copilot) enabled (Pro, Pro+, Business, or Enterprise plan required) -- [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) version 17.14.7 or later -- Agent mode enabled for GitHub Copilot in Visual Studio ([Learn how](/visualstudio/ide/copilot-agent-mode)) +## Assess app readiness -### Sign-in to GitHub Copilot +GitHub Copilot app modernization for .NET assessment helps you find app readiness challenges, learn their impact, and see recommended migration tasks. Each migration task includes references to set up Azure resources, add configurations, and make code changes. Follow these steps to start your migration: -GitHub Copilot is a dependency of the App Modernization Extension and experience. Make sure you're signed-in to GitHub Copilot inside Visual Studio. +1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository to your computer. -1. Select the Copilot icon at the top of Visual Studio to open the GitHub Copilot pane. -1. Follow the UI prompts to sign-in to Copilot. +1. In Visual Studio, open the **Contoso University** solution from the samples repository. -For more information, see [Set up GitHub Copilot in Visual Studio](/visualstudio/ide/visual-studio-github-copilot-install-and-states). +1. In Solution Explorer, right-click the solution node and select **Modernize**. -## Install the GitHub Copilot app modernization extension + :::image type="content" source="media/modernize-solution.png" alt-text="Screenshot that shows the modernize option in the context menu."::: -To complete the steps ahead, you need to install the GitHub Copilot app modernization for .NET (Preview) Visual Studio extension. +1. The GitHub Copilot Chat window opens with a welcome message and predefined options. Select **Migrate to Azure** from the available choices and send it to Copilot. -1. Inside Visual Studio, navigate to `Extensions` > `Manage Extensions`. -1. Search for **GitHub Copilot app modernization for .NET** in the marketplace. -1. On the extension page, select **Install**. -1. Follow the notification bar prompts to close Visual Studio and complete the installation. -1. Relaunch Visual Studio after installation. + :::image type="content" source="media/modernization-welcome.png" alt-text="Screenshot that shows the welcome message with migration options."::: -You can also view the [GitHub Copilot app modernization for .NET (Preview)](https://aka.ms/appmod-dotnet-marketplace) extension directly on the extension marketplace. - -For more information, see [Find, install, and manage extensions for Visual Studio](/visualstudio/ide/finding-and-using-visual-studio-extensions). - -## Assess application readiness - -App Modernization for .NET assessment helps you identify your application readiness challenges, understand their impact, and find recommended solutions. Each solution recommendation includes references to set up Azure resources, add configurations, and make code changes. Follow these steps to start your migration process with assessment: - -1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository. -2. In Visual Studio, open the **Contoso University** project folder from the samples repository. -3. Start the assessment using one of the following approaches: - - - **Solution explorer** - - Right-click the top-level solution node, then select `GitHub Copilot app modernization for .NET` > `Run Assessment`. + > [!TIP] + > Instead of steps 3 and 4, you can open **GitHub Copilot Chat** directly and send `@Modernize Migrate to Azure` to start the assessment and migration flow. - :::image type="content" source="media/solution-start-assessment.png" alt-text="A screenshot showing how to start the assessment through the solution explorer."::: +1. A new Copilot chat session opens and shows the welcome message. The assessment starts automatically and analyzes your project for migration readiness. - - **Top navigation** + :::image type="content" source="media/assessment-in-process.png" alt-text="Screenshot that shows assessment in progress with status indicators."::: - On the top menu, go to `Extensions` > `GitHub Copilot app modernization for .NET` > `Run Assessment`. +1. When the assessment finishes, you see a comprehensive assessment report UI page and a list of migration tasks in the chat window. - :::image type="content" source="media/extension-start-assessment.png" alt-text="A screenshot showing how to start the assessment from the top navigation."::: + :::image type="content" source="media/assessment-report.png" alt-text="Screenshot that shows the generated assessment report with detailed findings."::: - - **Search panel** +## App migrations - In the feature search panel (`Ctrl+Shift+P`), search for `Run Assessment`. +GitHub Copilot app modernization for .NET includes [predefined tasks](predefined-tasks.md) for common migration scenarios and follows Microsoft's best practices. -4. When the background task finishes, you see an assessment report tab with the results. +### Start a migration task - :::image type="content" source="media/overview_assessment.png" alt-text="A screenshot showing the generated assessment report."::: +Start a migration task in one of the following ways: - > [!NOTE] - > A small icon in the lower-left corner shows the background task is running. +**Option 1. Run from the Assessment Report** -## Start a migration +Select the **Run Task** button in the Assessment Report from the previous step to start a migration task. -GitHub Copilot app modernization for .NET (Preview) includes [predefined tasks](predefined-tasks.md) for common migration scenarios, following Microsoft's best practices. +**Option 2. Send in Copilot Chat** -1. Select the **Migrate** button in the Assessment Report generated in the previous step to start a migration. +Send the migration task number (for example, 1.1) or its name in the chat. - > [!TIP] - > If you already know which migration scenario you want, go to `GitHub Copilot app modernization for .NET` > `Migration Tasks` and select the appropriate task directly. +:::image type="content" source="media/quickstart-chat-experience.png" alt-text="Screenshot of sending a message in Copilot Chat to start a migration task."::: ### Plan and progress tracker generation -- When you start the migration, GitHub Copilot begins a session in agent mode with predefined prompts. +- When you start the migration, GitHub Copilot starts a session named "App modernization: migrate from `` to ``" in agent mode with predefined prompts. - The tool creates two files in the `.appmod/.migration` folder: - `plan.md` - the overall migration plan - `progress.md` - a progress tracker; GitHub Copilot marks items as it completes tasks -- Edit these files to customize your migration before proceeding. +- Edit these files to customize your migration before you continue. ### Start code remediation -- If you're satisfied with the plan and progress tracker, enter prompt to initiate the migration, such as the following: +- If you're satisfied with the plan and progress tracker, enter a prompt to start the migration, such as: ```console - `The plan and progress tracker look good to me. Go ahead with the migration.` + The plan and progress tracker look good to me. Go ahead with the migration. ``` - GitHub Copilot starts the migration process and might ask for your approval to use knowledge base tools in the Model Context Protocol (MCP) server. Grant permission when prompted. @@ -109,6 +96,22 @@ GitHub Copilot app modernization for .NET (Preview) includes [predefined tasks]( - Apply configuration changes - Make code changes - Build the solution, fix all compilation and configuration errors, and ensure a successful build + - Fix security vulnerabilities + +## Default chat messages + +GitHub Copilot app modernization for .NET gives you default chat message options to streamline your workflow. + +:::image type="content" source="media/quickstart-followup.png" alt-text="Screenshot that shows default chat message options in the Copilot Chat."::: + +You can choose one of the predefined options and send it in the chat: + +- **Run modernization assessment**: Starts a new assessment of your application to identify migration readiness issues and Azure compatibility challenges. +- **View assessment report**: Opens the previous assessment report and shows a summary of migration tasks based on the results. If no previous assessment exists, it runs a new assessment first. +- **Browse top migration tasks**: Shows recommended migration tasks and common modernization scenarios, regardless of any specific assessment results. + +> [!TIP] +> These default messages help you quickly navigate common workflows without typing custom prompts. You can also enter your own messages to interact with Copilot for specific questions or needs. ## Next Steps