diff --git a/docs/azure/migration/appmod/faq.md b/docs/azure/migration/appmod/faq.md new file mode 100644 index 0000000000000..ad2cd1ed3a631 --- /dev/null +++ b/docs/azure/migration/appmod/faq.md @@ -0,0 +1,157 @@ +--- +title: GitHub Copilot app modernization for .NET (Preview) FAQ +description: Discover answers to common questions about GitHub Copilot app modernization for .NET +ms.topic: concept-article +ms.custom: devx-track-dotnet +ms.date: 7/15/2025 +author: alexwolfmsft +ms.author: alexwolf +--- + +# Frequently Asked Questions for GitHub Copilot app modernization for .NET (Preview) + +This page answers common questions about [GitHub Copilot app modernization for .NET (Preview)](overview.md). + +## Which version of Visual Studio should I use? + +Upgrade to Visual Studio 2022 version 17.14.7 or later for the best experience with both GitHub Copilot and App Modernization for .NET (Preview). + +## Which model should I use in GitHub Copilot agent mode? + +Based on our experience, GitHub Copilot and App Modernization for .NET work best with Claude Sonnet 3.7 and Claude Sonnet 4.0. + +## What is the MCP Server, and why is there sometimes an initial delay when running a command? + +The GitHub Copilot app modernization for .NET (Preview) extension uses an MCP Server to provide Azure-related knowledge bases as tools. + +- **Automatic setup:** + On the first invocation of any App Modernization command, the extension checks for a configuration file at `%USERPROFILE%\.mcp.json`. If it's missing or the server isn't running, the extension writes the default settings and launches the MCP Server automatically. + +- **First-run delay:** + Starting and initializing the MCP Server can take anywhere from a few milliseconds up to about 20 seconds. + +- **Subsequent invocations:** + Once the MCP Server is running locally, you should not see that startup delay again. + +- **Using MCP tools in the VS Copilot Agent (outside the extension):** + You can also access the same MCP-based knowledge tools inside the built-in VS Copilot Agent. Just run **Configure MCP Server**, and the full suite of MCP tools appears under the Copilot agent's tools dropdown. + +## What should I do if configuring the MCP Server fails? + +If the MCP Server doesn't start correctly, try the following steps: + +1. Retry the **Configure MCP Server** command. +2. If it still fails, manually restart the MCP Server: + 1. Switch GitHub Copilot to **Agent** mode. + 2. Click the **Tools** icon in the pane. + 3. Expand the **appModernization** section by clicking the arrow icon next to it. + 4. Click **Restart** to relaunch the MCP Server. + +## Why is there an error in the "appModernization" group under Tools in GitHub Copilot Agent mode after uninstalling the extension, and how can I fix it? + +When the extension is installed, it adds a configuration entry to `%USERPROFILE%\.mcp.json` to register the `appModernization` tool with GitHub Copilot Agent in Visual Studio. This enables the `Tools → appModernization` group within Copilot Agent mode. +After the extension is uninstalled, this configuration remains. Since the associated command no longer exists, GitHub Copilot Agent mode displays a red error indicator next to the `appModernization` group. + +To resolve this: + +- **Edit `%USERPROFILE%\.mcp.json`** + + Open the file in a text editor and remove the `"appModernization"` entry from the `"servers"` section. + Save the file after removing this block. +- **Or delete the file entirely** + + If `.mcp.json` contains no other important configuration, you may simply delete the file. + +Once cleaned up, the error in the `Tools → appModernization` group will no longer appear. + +## How can I monitor assessment progress? + +While the assessment is running, you can monitor its progress by viewing the command-line output: + +1. In Visual Studio, go to **View** > **Output** to open the Output window. +2. In the Output window, find the **Show output from:** dropdown. +3. Select **AppModernizationExtension** from the dropdown list. +4. The command-line output from the assessment tool appears here, showing real-time progress. + +You can also access the Output window using the keyboard shortcut **Ctrl+Alt+O**. + +## What should I do if Visual Studio fails to install AppCAT? + +If you see an AppCAT installation failure in the command-line output when the extension tries to install it automatically, you can install AppCAT manually: + +1. Open a command prompt or PowerShell as Administrator. +2. Run the appropriate command based on your shell: + + **For Command Prompt:** + + ```cmd + dotnet tool install dotnet-appcat --tool-path "%LOCALAPPDATA%\Microsoft\VisualStudio\AppModernizationExtension\Tools" + ``` + + **For PowerShell:** + + ```powershell + dotnet tool install dotnet-appcat --tool-path "$env:LOCALAPPDATA\Microsoft\VisualStudio\AppModernizationExtension\Tools" + ``` + +3. After successful installation, run the assessment again. + +> [!IMPORTANT] +> Installing this tool may fail if you've configured additional NuGet feed sources. Use the `--ignore-failed-sources` parameter to treat those failures as warnings instead of errors. + +### What should I do if Visual Studio fails to upgrade AppCAT? + +If Visual Studio fails to automatically upgrade AppCAT when a new version is available, you can upgrade it manually: + +1. Open a command prompt or PowerShell as Administrator. +2. Run the appropriate command based on your shell: + + **For Command Prompt:** + + ```cmd + dotnet tool update dotnet-appcat --tool-path "%LOCALAPPDATA%\Microsoft\VisualStudio\AppModernizationExtension\Tools" + ``` + + **For PowerShell:** + + ```powershell + dotnet tool update dotnet-appcat --tool-path "$env:LOCALAPPDATA\Microsoft\VisualStudio\AppModernizationExtension\Tools" + ``` + +3. After successful upgrade, run the assessment again. + +## 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. + +To fix this error: + +1. Download and install the .NET 8 SDK from . +2. Restart Visual Studio. +3. Run the assessment again. + +## 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. + +For more information, see the [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkId=521839). + +## What are the intended uses of GitHub Copilot app modernization for .NET (Preview)? + +GitHub Copilot app modernization for .NET (Preview) is designed to help enterprises migrate their .NET applications to Azure. It assesses application code issues that need to be addressed for migration and provides code remediation patterns that can be applied with AI. + +## How was GitHub Copilot app modernization for .NET (Preview) evaluated? What metrics are used to measure performance? + +GitHub Copilot app modernization for .NET (Preview) was evaluated through extensive manual and automated testing. Additional evaluation was performed using custom datasets for offensive and malicious prompts (user questions) and responses. The tool is also continuously evaluated with user feedback. + +## What are the limitations of GitHub Copilot app modernization for .NET (Preview)? + +GitHub Copilot app modernization for .NET (Preview) can be used on application source code written in .NET Framework or .NET Core. Applications in other languages are not supported. + +## What operational factors and settings allow for effective and responsible use of GitHub Copilot app modernization for .NET (Preview)? + +You can choose the model to make code changes at the bottom of the GitHub Copilot chat box. Different models may produce different results and have varying token consumption. For more information, see [Manage Copilot usage and models](/visualstudio/ide/copilot-usage-and-models). + +## How do I provide feedback on GitHub Copilot app modernization for .NET (Preview)? + +We value your feedback—share [your thoughts here](https://aka.ms/AM4DFeedback) to help us continue improving the product. diff --git a/docs/azure/migration/appmod/media/extension-start-assessment.png b/docs/azure/migration/appmod/media/extension-start-assessment.png new file mode 100644 index 0000000000000..c15e2a8b768ac Binary files /dev/null and b/docs/azure/migration/appmod/media/extension-start-assessment.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..ad9a01a262b98 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..efa80a391779a 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..dcc7ef0ed6581 Binary files /dev/null and b/docs/azure/migration/appmod/media/overview_solution.png differ diff --git a/docs/azure/migration/appmod/media/solution-start-assessment.png b/docs/azure/migration/appmod/media/solution-start-assessment.png new file mode 100644 index 0000000000000..22cffa7ea745d Binary files /dev/null and b/docs/azure/migration/appmod/media/solution-start-assessment.png differ diff --git a/docs/azure/migration/appmod/overview.md b/docs/azure/migration/appmod/overview.md new file mode 100644 index 0000000000000..e78d9ed842965 --- /dev/null +++ b/docs/azure/migration/appmod/overview.md @@ -0,0 +1,86 @@ +--- +title: Overview of GitHub Copilot app modernization for .NET (Preview) +description: Learn about essential concepts for GitHub Copilot app modernization for .NET +ms.topic: concept-article +ms.custom: devx-track-dotnet +ms.date: 7/15/2025 +author: alexwolfmsft +ms.author: alexwolf +--- + +# GitHub Copilot app modernization for .NET (Preview) overview + +[GitHub Copilot app modernization for .NET (Preview)](https://marketplace.visualstudio.com/items?itemName=vscjava.appmod-dotnet) helps you migrate .NET applications to Azure quickly and confidently by guiding you through assessment, solution recommendations, code fixes, and validation - all in one tool. + +With this assistant, you can: + +- Assess your application's code, configuration, and dependencies. +- Plan and set up the right Azure resource +- Fix issues and apply best practices for cloud migration +- Validate that your app builds and tests successfully + +This process streamlines modernization and boosts developer productivity and confidence. App Modernization for .NET is an all-in-one migration assistant that uses AI to improve developer velocity, quality, and results. + +App Modernization for .NET is provided as a Visual Studio extension and relies on the following tools to be installed and configured for the full experience: + +- [A GitHub account with GitHub Copilot enabled](https://github.com/features/copilot) (Pro, Pro+, Business, or Enterprise plan required) +- [The GitHub Copilot extension](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) for Visual Studio (latest version recommended) +- [Azure Migrate application and code assessment for .NET](../appcat/install.md) for assessment features + +For a complete walkthrough of setting up and using GitHub Copilot app modernization for .NET, see [Quickstart: Assessing an application and applying code changes](quickstart.md). + +## Key Concepts + +GitHub Copilot app modernization for .NET supports end-to-end migration to Azure, including assessment, planning, code remediation, build fixes, and unit test fixes. It uses GitHub Copilot AI capabilities to help you migrate and run your applications on Azure with confidence, accelerating the entire modernization lifecycle. + +The tool also relies on [Azure Migrate application and code assessment (AppCAT)](../appcat/app-code-assessment-toolkit.md) to analyze your code and identify modernization opportunities. You can use GitHub Copilot app modernization for .NET to get an overview of cloud readiness migration issues, including: + +- Best practice recommendations +- Suggestions for changing your application code + +When code changes are needed, the tool guides you through remediation using predefined tasks for common issues, such as: + +- Switching from password-based authentication to managed identities +- Moving from AWS S3 to Azure Blob Storage + +For more information, see [Predefined tasks](predefined-tasks.md). + +## Common Use Cases + +App Modernization for .NET (Preview) supports the following scenarios: + +- **Assessment of modernization issue** + + Evaluates your application's readiness for Azure migration in Visual Studio, powered by [AppCAT for .NET](../appcat/install.md). + +![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) + +- **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) + +- **Automatic fixes for compilation errors:** + + Automatically discovers and fixes compilation errors introduced by code changes. + +## Feedback and Privacy + +- **Feedback:** We value your feedback—share [your thoughts here](https://aka.ms/AM4DFeedback) to help us improve the product. +- **License:** This extension is licensed under the [GitHub Copilot Product Specific Terms](https://github.com/customer-terms/github-copilot-product-specific-terms). +- **Trademarks:** This project might contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos is subject to those third parties' policies. +- **Privacy:** App Modernization for .NET (Preview) 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. Review the [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkId=521839) for more information. +- **Transparency:** App Modernization for .NET (Preview) uses GitHub Copilot to make code changes, and AI might sometimes make mistakes. Carefully review and test any code changes made by the tool before using them in your production environment. + +## Next Steps + +- [Quickstart: Assessing an application and applying code changes](quickstart.md) +- [Common modernization issues with predefined tasks](predefined-tasks.md) +- [Frequently Asked Questions](faq.md) diff --git a/docs/azure/migration/appmod/predefined-tasks.md b/docs/azure/migration/appmod/predefined-tasks.md new file mode 100644 index 0000000000000..d1e4ad095b6a8 --- /dev/null +++ b/docs/azure/migration/appmod/predefined-tasks.md @@ -0,0 +1,56 @@ +--- +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 +author: alexwolfmsft +ms.author: alexwolf +--- + +# Predefined tasks for GitHub Copilot app modernization for .NET (Preview) + +This article describes the predefined tasks available for GitHub Copilot app modernization for .NET (Preview). + +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: + +- Secret management +- Message queue integration +- Database migration +- Identity management + +## Predefined task list + +App Modernization for .NET currently supports the following predefined tasks: + +- **Migrate to Managed Identity based Database on Azure, including Azure SQL DB and Azure PostgreSQL** + + Modernize your data layer by migrating from on-premises or legacy databases (such as DB2, Oracle DB, or SQL Server) to Azure SQL DB or Azure PostgreSQL, using secure managed identity authentication. + +- **Migrate to Azure File Storage** + + Move file I/O operations from the local file system to Azure File Storage for scalable, cloud-based file management. + +- **Migrate to Azure Blob Storage** + + Replace on-premises or cross-cloud object storage, or local file system file I/O, with Azure Blob Storage for unstructured data. + +- **Migrate to Microsoft Entra ID** + + Transition authentication and authorization from Windows Active Directory to Microsoft Entra ID (formerly Azure AD) for modern identity management. + +- **Migrate to secured credentials with Managed Identity and Azure Key Vault** + + Replace plaintext credentials in configuration or code with secure, managed identities and Azure Key Vault for secrets management. + +- **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. + +- **Migrate to Azure Communication Service email** + + Replace direct SMTP email sending with Azure Communication Service for scalable, secure email delivery. + +- **Migrate to Confluent Cloud/Azure Event Hub for Apache Kafka** + + Transition from local or on-premises Kafka to managed event streaming with Confluent Cloud or Azure Event Hubs. diff --git a/docs/azure/migration/appmod/quickstart.md b/docs/azure/migration/appmod/quickstart.md new file mode 100644 index 0000000000000..0c8934ac2ed94 --- /dev/null +++ b/docs/azure/migration/appmod/quickstart.md @@ -0,0 +1,116 @@ +--- +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 +author: alexwolfmsft +ms.author: alexwolf +--- + +# Quickstart: Assess and Migrate a .NET Project with GitHub Copilot app modernization for .NET (Preview) + +In this quickstart, you assess and migrate a .NET project using [GitHub Copilot app modernization for .NET (Preview)](https://marketplace.visualstudio.com/items?itemName=vscjava.appmod-dotnet). 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: + +- 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?view=vs-2022)) + +### Sign-in to GitHub Copilot + +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. 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. + +For more information, see [Set up GitHub Copilot in Visual Studio](/visualstudio/ide/visual-studio-github-copilot-install-and-states?view=vs-2022). + +## 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. + +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://marketplace.visualstudio.com/items?itemName=vscjava.appmod-dotnet) 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?view=vs-2022). + +## 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`. + + :::image type="content" source="media/solution-start-assessment.png" alt-text="A screenshot showing how to start the assessment through the solution explorer."::: + + - **Top navigation** + + On the top menu, go to `Extensions` > `GitHub Copilot app modernization for .NET` > `Run Assessment`. + + :::image type="content" source="media/extension-start-assessment.png" alt-text="A screenshot showing how to start the assessment from the top navigation."::: + + - **Search panel** + + In the feature search panel (`Ctrl+Shift+P`), search for `Run Assessment`. + +4. When the background task finishes, you see an assessment report tab with the results. + + :::image type="content" source="media/overview_assessment.png" alt-text="A screenshot showing the generated assessment report."::: + + > [!NOTE] + > A small icon in the lower-left corner shows the background task is running. + +## Start a 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. + + > [!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. + +### Plan and progress tracker generation + +- When you start the migration, GitHub Copilot begins a session 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. + +### Start code remediation + +- If you're satisfied with the plan and progress tracker, enter prompt to initiate the migration, such as the following: + + ```console + `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. +- Copilot follows the plan and progress tracker to: + - Manage dependencies + - Apply configuration changes + - Make code changes + - Build the solution, fix all compilation and configuration errors, and ensure a successful build + +## Next Steps + +- [Predefined Tasks](predefined-tasks.md) +- [Frequently Asked Questions](faq.md) diff --git a/docs/azure/migration/appmod/sample.md b/docs/azure/migration/appmod/sample.md new file mode 100644 index 0000000000000..ecc5afd343d3f --- /dev/null +++ b/docs/azure/migration/appmod/sample.md @@ -0,0 +1,42 @@ +--- +title: GitHub Copilot app modernization for .NET (Preview) sample +description: Learn about the sample project for GitHub Copilot app modernization for .NET +ms.topic: concept-article +ms.custom: devx-track-dotnet +ms.date: 7/15/2025 +author: alexwolfmsft +ms.author: alexwolf +--- + +# Contoso University Migration Sample + +The [Contoso University sample web app](https://github.com/Azure-Samples/dotnet-migration-copilot-samples/tree/main/ContosoUniversity) provides an example project you can experiment with using GitHub Copilot app modernization for .NET (Preview). For more information and step-by-step instructions, see the [quickstart guide](quickstart.md). + +## Scenario Overview + +Contoso University is a fictional university management system originally built with .NET Framework 4.8. The application includes features such as: + +- Student enrollment +- Course management +- Instructor assignments + +The legacy system relies on Windows-based components: + +- **SQL Server LocalDB** for database storage +- **Local file system** for file management +- **Microsoft Message Queue (MSMQ)** for notification messaging + +## Modernization with Azure + +Using App Modernization for .NET (Preview), you can update the sample to use modern, cloud-native Azure services: + +- **Azure SQL Database** replaces SQL Server LocalDB +- **Azure Blob Storage** replaces local file system access +- **Azure Service Bus** replaces MSMQ +- **Azure Key Vault** provides secure secrets management + +This migration illustrates how to transform a legacy, on-premises application into a scalable and maintainable cloud-native solution using GitHub Copilot and Azure services. + +## Learn More + +- [Quickstart: Assess and migrate a .NET project using GitHub Copilot app modernization for .NET (Preview)](quickstart.md) diff --git a/docs/azure/toc.yml b/docs/azure/toc.yml index fb85b4f900b16..876c05306f850 100644 --- a/docs/azure/toc.yml +++ b/docs/azure/toc.yml @@ -1,3 +1,4 @@ +items: - name: Azure for .NET developers href: index.yml - name: Get started on Azure with .NET @@ -23,6 +24,18 @@ href: dotnet-dev-env-checklist.md - name: Migrate to Azure items: + - name: GitHub Copilot app modernization for .NET + items: + - name: Overview + href: ./migration/appmod/overview.md + - name: FAQ + href: ./migration/appmod/faq.md + - name: Predefined Tasks + href: ./migration/appmod/predefined-tasks.md + - name: Quickstart - Assess and migrate a .NET project + href: ./migration/appmod/quickstart.md + - name: Sample - Contoso University + href: ./migration/appmod/sample.md - name: Azure Migrate application and code assessment items: - name: Overview diff --git a/docs/core/porting/index.md b/docs/core/porting/index.md index 3ab2af03991a0..a47db7fd68ce7 100644 --- a/docs/core/porting/index.md +++ b/docs/core/porting/index.md @@ -123,6 +123,47 @@ Instead of manually porting an application from .NET Framework to .NET, you can Even if you use a tool to help port your application, you should review the [Considerations when porting section](#considerations-when-porting) in this article. +### GitHub Copilot App Modernization – Upgrade for .NET + +[GitHub Copilot App Modernization – Upgrade for .NET](github-copilot-app-modernization-overview.md) is a Visual Studio extension that helps you upgrade projects to newer versions of .NET, update dependencies, and apply code fixes. It leverages GitHub Copilot to provide an interactive upgrade experience. + +This tool supports the following upgrade paths: + +- Upgrade projects from .NET Core to .NET. +- Upgrade projects from older versions of .NET to the latest. +- Modernize your code base. + +**When to use:** + +Use GitHub Copilot App Modernization – Upgrade for .NET for scenarios where you want to upgrade your .NET project code and dependencies to newer versions of .NET using an AI-powered tool. + +### GitHub Copilot app modernization for .NET + +GitHub Copilot app modernization for .NET (Preview) helps you migrate .NET applications to Azure efficiently and confidently. Powered by GitHub Copilot and [Application and code assessment for .NET](../../azure/migration/appcat/app-code-assessment-toolkit.md), it guides you through assessment, solution recommendations, code fixes, and validation—all within a single tool. + +With this assistant, you can: + +- Assess your application's code, configuration, and dependencies. +- Plan and set up the right Azure resources. +- Fix issues and apply best practices for cloud migration. +- Validate that your app builds and tests successfully. + +For more details, see the [GitHub Copilot app modernization for .NET overview](upgrade-assistant-overview.md). + +**When to use:** + +Use the GitHub Copilot app modernization for .NET (Preview) experience for scenarios where you need end to end assessment, planning, and remediation for migrating your .NET apps to Azure. + +### Application and Code Assessment for .NET + +[Azure Migrate application and code assessment for .NET](../../azure/migration/appcat/app-code-assessment-toolkit.md) provides code and application analysis, along with recommendations for planning cloud deployments. It helps you confidently run business-critical solutions in the cloud by offering a developer-focused assessment of your source code. The tool also provides recommendations and examples to optimize code and configurations for Azure, following industry best practices. + +This tool is also used by the GitHub Copilot app modernization for .NET experience. + +**When to use:** + +Use the Azure Migrate application and code assessment for .NET toolset for an assessment of and recommendations for migrating an existing code base to Azure. The Azure Migrate application and code assessment is essentially a subset of the GitHub Copilot app modernization for .NET experience. + ### .NET Upgrade Assistant The [.NET Upgrade Assistant](upgrade-assistant-overview.md) is a command-line tool that can be run on different kinds of .NET Framework apps. It's designed to assist with upgrading .NET Framework apps to .NET. After running the tool, **in most cases the app will require more effort to complete the migration**. The tool includes the installation of analyzers that can assist with completing the migration. This tool works on the following types of .NET Framework applications: @@ -135,6 +176,10 @@ The [.NET Upgrade Assistant](upgrade-assistant-overview.md) is a command-line to This tool uses the other tools listed in this article, such as **try-convert**, and guides the migration process. For more information about the tool, see [Overview of the .NET Upgrade Assistant](upgrade-assistant-overview.md). +**When to use:** + +Use .NET Upgrade Assistant to upgrade .NET Framework apps to newer versions of .NET. This tool provides an alternative to the AI powered GitHub Copilot App Modernization – Upgrade for .NET experience. + ### `try-convert` The `try-convert` tool is a .NET global tool that can convert a project or entire solution to the .NET SDK, including moving desktop apps to .NET. However, this tool isn't recommended if your project has a complicated build process such as custom tasks, targets, or imports.