.NET Modernization: GitHub Copilot Upgrade Eases Migrations
During the .NET Conf Focus on Modernization event, Microsoft demonstrated a powerful new tool: GitHub Copilot Upgrade for .NET with Agent Mode. Unlike previous solutions, this tool applies AI to comprehensively manage the entire upgrade process across multiple interdependent projects.
“GitHub Copilot Upgrade for .NET isn’t just making suggestions here, it’s actually guiding the entire .NET upgrade process and automating the changes necessary, all with minimal user input,” said McKenna Barlow, Microsoft’s product manager for .NET Tools, during the event. “One of the most exciting features of the tool is that you can now upgrade your entire solution in one go. So, no more project-by-project upgrades. No more fiddling around with tangled messes of all these dependencies.”
This represents a significant advancement over existing tools like the .NET Upgrade Assistant, which could only upgrade one project at a time, often leaving developers with broken dependencies and countless compatibility issues to resolve manually, Microsoft said.
Reluctance To Upgrade
There is reluctance for developers to upgrade their codebase, yet there are consequences of not updating, such as security risks and performance bottlenecks. However, the benefits of upgrading to the newest .NET version include performance improvements, security enhancements and access to modern development tools.
Technical Debt or Innovation?
Indeed, staying on outdated frameworks is not just a technical debt problem but also a missed opportunity for innovation, the conference speakers explained.
Performance improvements include optimizations in runtime tools and libraries. Security enhancements provide protection against vulnerabilities with the latest security updates. Also, new features and APIs in each new release simplify development and enable building more innovative applications.
In addition, improved tooling experiences include hot reload, C# dev kit, Maui and debugging support.
Why Modernization Matters
Beyond solving technical challenges, the tool addresses a broader issue: the opportunity cost of staying on outdated frameworks.
“The reality is that every new version of .NET brings really great improvements, including performance, stronger security, access to modern development tools, all that good stuff, and staying on outdated frameworks. It’s not just a technical debt problem. It’s actually a missed opportunity for you to be innovating faster,” explained Barlow.
These benefits include:
- Performance enhancements for faster, more efficient applications
- Critical security updates and vulnerability patches
- New features and APIs that simplify development
- Improved tooling experiences (hot reload, C# dev kit, MAUI debugging)
- Continued support from Microsoft
- Access to the latest community contributions and libraries
Compatibility and Support
Upgrading ensures compatibility with the latest technologies and platforms, ensuring continued support from Microsoft. Older versions eventually reach an end of life and won’t receive updates.
GitHub Copilot Upgrade for .NET is designed to make upgrading faster, smarter and easier, Barlow said. The tool helps build an upgrade plan, guides step by step and tracks progress, enabling developers to work at their own pace. It also automates changes necessary for upgrading, including analyzing projects, resolving dependencies and rewriting outdated code.
The Tool in Action
During the conference, Chet Husk, program manager for the .NET SDK, CLI, MSBuild and Templating Engine, demonstrated the upgrade process for a .NET app using GitHub Copilot Upgrade for .NET in both Visual Studio and a prototype using Visual Studio Code.
Husk demonstrated how the tool starts with defining the goal, generating a plan and executing the plan, automating as much of the upgrade process as possible. The tool prompts users for input when it encounters issues that require human intervention. Moreover, the tool learns from user interventions, applying fixes based on what it has learned, reducing the need for manual steps and improving accuracy over time.
During demonstrations, Husk also showcased how the tool intelligently handles complex scenarios. One example involved upgrading a WPF application:
“Because the binary formatter APIs were deprecated, the tool has changed the usage of serialization over to use System.Text.JSON instead. This is an automatic thing… This is an example of the tool getting you to something buildable, and then you can follow back and pick up on that thread.”
He also showed the tool’s learning capabilities. After manually fixing a namespace casing issue once, the tool recognized similar problems elsewhere in the application and automatically applied the same fix, demonstrating how it becomes more efficient as you use it.
Keeping You in Control
Despite its automation capabilities, GitHub Copilot Upgrade for .NET isn’t a black box. “One of the most powerful aspects of GitHub Copilot Upgrade for .NET is that it’s not a black box… it’s actively keeping you in the loop throughout the upgrade process,” noted Barlow.
The tool creates Git branches and checkpoints along the way and provides detailed reports of every change made.
As Husk summarized after his demonstration: “This took out the drudgery part of the upgrade. Now we have to do the parts that are interesting.”
Looking Ahead
By leveraging AI to handle the complex, tedious aspects of framework upgrades, the tool promises to dramatically reduce the time and effort required to keep applications current.
For .NET developers who have been putting off modernization due to its complexity, this tool might just be the breakthrough they’ve been waiting for.
The tool is currently in preview, with Microsoft inviting developers to sign up to be among the first to access it.
Roadmap
During the .NET Conf presentation, the team revealed a packed roadmap designed to further streamline the upgrade experience.
Enhanced Configurability
Perhaps the most significant upcoming enhancement is the addition of granular control over virtually every aspect of the upgrade process. Soon, developers will be able to:
- Guide NuGet package updates with precision
- Choose exactly which package replacements to apply
- Customize code rewriting rules to align with team standards
- Fine-tune transformations according to specific project needs
This level of configurability will ensure the tool can adapt to the unique requirements of different development teams and codebases, balancing between opinionated defaults for simplicity and custom options for complex scenarios.
Platform-Agnostic Approach
While the initial demonstrations focused on Visual Studio integration, Microsoft is actively working on making the tool more accessible across different environments. The team is experimenting with Model Context Protocol (MCP) support, as was briefly shown in the VS Code demo.
“We know that teams work everywhere, on prem, in the cloud, even on specialized platforms,” Barlow explained. “So, we’re looking to build platform-agnostic tooling so that you can get that same reliable upgrade capability no matter where your code actually lives.”
This platform-agnostic vision could eventually enable developers to run upgrades directly on servers, integrate them into CI/CD pipelines or use them alongside any IDE — making the technology more accessible to teams with diverse development environments.
Upgrading at Scale
Perhaps the most ambitious aspect of the roadmap addresses the challenge of upgrading at enterprise scale. For organizations with dozens or even hundreds of repositories, Microsoft is planning fleet-wide orchestration capabilities.
This would enable teams to define upgrade configurations once and trigger them across entire codebases, with centralized monitoring to track progress. The goal is to transform what has traditionally been a manual, repository-by-repository ordeal into a streamlined, automated process that can be executed consistently across an organization.
“We do know that upgrading at scale and in an automated fashion is something that a lot of teams need a lot of help with,” Barlow said. “So, we definitely have this one on our radar for the future.”
Expanding Access
While these enhancements are still in development, Microsoft is expanding access to the tool beyond its internal teams. They’ve opened a private preview for third-party customers who want to experience the current version and help shape its future.