Skip to content
Open
Show file tree
Hide file tree
Changes from 23 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions docs/azure/migration/appmod/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://dotnet.microsoft.com/download/dotnet/8.0>.
1. Download and install the .NET 9 SDK from <https://dotnet.microsoft.com/download/dotnet/9.0>.
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, updating to the latest version will provide automatic installation assistance for the required .NET 9 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.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/azure/migration/appmod/media/Modernize.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/azure/migration/appmod/media/Welcome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/azure/migration/appmod/media/overview_assessment.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/azure/migration/appmod/media/overview_remediation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/azure/migration/appmod/media/overview_solution.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 10 additions & 3 deletions docs/azure/migration/appmod/predefined-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
---
Expand All @@ -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

Expand Down Expand Up @@ -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**

Expand All @@ -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.
90 changes: 58 additions & 32 deletions docs/azure/migration/appmod/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,22 @@ title: GitHub Copilot app modernization for .NET (Preview) quickstart
description: Get started with 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
---

# Quickstart: Assess and migrate a .NET Project with GitHub Copilot app modernization for .NET (Preview)
# Quickstart: assess and migrate a .NET Project to Azure

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 using [GitHub Copilot app modernization for .NET (Preview)](https://aka.ms/ghcp-appmod/dotNET). You will 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:

- 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))
Before you begin, ensure follow the prerequisites of [https://aka.ms/ghcp-appmod/dotNET#prerequisites].

### Sign-in to GitHub Copilot

Expand All @@ -35,61 +31,63 @@ For more information, see [Set up GitHub Copilot in Visual Studio](/visualstudio

## Install the GitHub Copilot app modernization extension

To complete the steps ahead, you need to install the GitHub Copilot app modernization for .NET (Preview) Visual Studio extension.
To complete the steps ahead, you need to install [GitHub Copilot app modernization for .NET](https://aka.ms/appmod-dotnet-marketplace) extension.

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.

You can also view the [GitHub Copilot app modernization for .NET (Preview)](https://aka.ms/appmod-dotnet-marketplace) extension directly on the extension marketplace.
You can also view the [GitHub Copilot app modernization for .NET (Preview)](https://aka.ms/appmod-dotnet-marketplace) 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:
App Modernization for .NET assessment helps you identify your application readiness challenges, understand their impact, and find 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 process with assessment:

- **Solution explorer**
1. Clone the [.NET migration copilot samples](https://github.com/Azure-Samples/dotnet-migration-copilot-samples) repository to your local machine.

Right-click the top-level solution node, then select `GitHub Copilot app modernization for .NET` > `Run Assessment`.
2. In Visual Studio, open the **Contoso University** solution from the samples repository.

:::image type="content" source="media/solution-start-assessment.png" alt-text="A screenshot showing how to start the assessment through the solution explorer.":::
3. Right-click the solution in Solution Explorer and select **Modernize**.

- **Top navigation**
:::image type="content" source="media/Modernize.png" alt-text="A screenshot showing the modernize option in the context menu.":::

On the top menu, go to `Extensions` > `GitHub Copilot app modernization for .NET` > `Run Assessment`.
4. A 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.

:::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/Welcome.png" alt-text="A screenshot showing the welcome message with migration options.":::

- **Search panel**
5. A new Copilot chat session opens and displays the welcome message. The assessment automatically begins analyzing your project for migration readiness.

In the feature search panel (`Ctrl+Shift+P`), search for `Run Assessment`.
:::image type="content" source="media/AssessmentInProcess.png" alt-text="A screenshot showing assessment in progress with status indicators.":::

4. When the background task finishes, you see an assessment report tab with the results.
6. When the assessment completes, you can view a comprehensive assessment report UI page and receive a list of migration tasks in the chat window.

:::image type="content" source="media/overview_assessment.png" alt-text="A screenshot showing the generated assessment report.":::
:::image type="content" source="media/assessment-report.png" alt-text="A screenshot showing the generated assessment report with detailed findings.":::

> [!NOTE]
> A small icon in the lower-left corner shows the background task is running.

## Start a migration
## Start migration

GitHub Copilot app modernization for .NET (Preview) includes [predefined tasks](predefined-tasks.md) for common migration scenarios, following Microsoft's best practices.

1. Select the **Migrate** button in the Assessment Report generated in the previous step to start a migration.
### Start a migration task

You can start a migration task in one of the following ways:

**Option 1. Run from the Assessment Report**

Select the **Run Task** button in the Assessment Report generated in the previous step to start a migration task.

> [!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.
**Option 2. Send in Copilot Chat**

Send the migration task number (e.g., 1.1) or its name in the chat.
:::image type="content" source="media/quickstart_chat_experience.png" alt-text="A screenshot showing sending the message in the 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 begins a session named "App modernization: migrate from <source technology> to <target technology>" 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
Expand All @@ -109,6 +107,34 @@ 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
- Security vulnerability fix

## Default chat messages

The GitHub Copilot app modernization for .NET extension provides default chat message options to streamline your workflow.
:::image type="content" source="media/quickstart_followup.png" alt-text="A screenshot showing default chat message options in the Copilot Chat.":::

You can choose one of the predefined options below and send it in the chat:

- **Run modernization assessment**: Initiates a comprehensive new assessment of your application to identify migration readiness issues and Azure compatibility challenges.
- **View assessment report**: Opens the previously generated assessment report and provides a summarized list of migration tasks based on the assessment results. If no previous assessment exists, it will automatically run a new assessment first.
- **Browse top migration tasks**: Displays recommended migration tasks and common modernization scenarios, independent of any specific assessment results.

> [!TIP]
> These default messages help you quickly navigate common workflows without typing custom prompts. You can also type your own custom messages to interact with Copilot for specific questions or requirements.


### Default chat messages

The GitHub Copilot app modernization for .NET extension provides default chat message options to streamline your workflow. When you open the Copilot chat interface, you can choose from the following predefined options:

- **Run modernization assessment**: Initiates a comprehensive new assessment of your application to identify migration readiness issues and Azure compatibility challenges.
- **View assessment report**: Opens the previously generated assessment report and provides a summarized list of migration tasks based on the assessment results. If no previous assessment exists, it will automatically run a new assessment first.
- **Browse top migration tasks**: Displays recommended migration tasks and common modernization scenarios, independent of any specific assessment results.

> [!TIP]
> These default messages help you quickly navigate common workflows without typing custom prompts. You can also type your own custom messages to interact with Copilot for specific questions or requirements.


## Next Steps

Expand Down
Loading