惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
博客园 - 叶小钗
F
Fortinet All Blogs
GbyAI
GbyAI
Martin Fowler
Martin Fowler
博客园 - 聂微东
I
InfoQ
B
Blog
IT之家
IT之家
美团技术团队
L
LangChain Blog
小众软件
小众软件
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
Last Week in AI
Last Week in AI
A
About on SuperTechFans
博客园 - Franky
P
Proofpoint News Feed
罗磊的独立博客
月光博客
月光博客
V
Visual Studio Blog
MyScale Blog
MyScale Blog

.NET Blog

Build Your Own AI Agent Harness in C#, the MafClaw Live Series - .NET Blog Performance Improvements in .NET 11 - .NET Blog Share your .NET story with the community - .NET Blog Use C# unions and closed hierarchies in ASP.NET Core - .NET Blog Announcing .NET 11 Release Candidate 1 - .NET Blog .NET Conf 2026 Community Days Call for Presenters Is Open - .NET Blog .NET and .NET Framework September 2026 servicing releases updates - .NET Blog Test what you ship: MSTest and Native AOT - .NET Blog How Uno Platform uses .NET, MCP, and AI to build high quality apps - .NET Blog .NET Conf 2026 - .NET Blog From dotnet run to Foundry Hosted Agent in 3 lines of C# - .NET Blog Explore new features available in C# 15 preview - .NET Blog Routing and Failover for Microsoft.Extensions.AI - .NET Blog Instructions Hygiene - What Frontier Models Still Need You to Say - .NET Blog .NET 11 Preview 7 is now available! - .NET Blog .NET and .NET Framework August 2026 servicing releases updates - .NET Blog Test reporting in Microsoft.Testing.Platform: from red build to root cause - .NET Blog Beyond Chat: live Speech-to-Text with Foundry Local and C# - .NET Blog Strengthening NuGet Supply Chain Security: Reducing API Key Lifetime - .NET Blog From generated code to trusted code with a unit-test agent - .NET Blog Announcing v2.0 of the official MCP C# SDK - .NET Blog Analyze MSBuild Binary Logs with Copilot in VS Code - .NET Blog .NET and .NET Framework July 2026 servicing releases updates - .NET Blog CoreCLR Progress and the Mono Timeline for .NET MAUI - .NET Blog .NET 11 Preview 6 is now available! - .NET Blog Modernize .NET applications in the GitHub Copilot app - .NET Blog MCP Beyond the Chat Window: Build Diagnostics in CI - .NET Blog .NET 8 and .NET 9 will reach End of Support on November 10, 2026 - .NET Blog SkiaSharp 4.0 is here: announcing the first stable release - .NET Blog Packaging and Package Identity for .NET apps with WinApp CLI on Windows - .NET Blog
Announcing .NET Modernization for Beginners - .NET Blog
Pablo Lopes · 2026-07-17 · via .NET Blog

We’ve built a new course to help you navigate the journey when you’re the owner of an application built on a legacy .NET framework and it needs to be modernized. The whole concept of modernization is overwhelming! Security updates aren’t being issued any longer! Dependencies are out of date because they’re not being updated! You’re not alone. We have a suite of tools to help you modernize and this course helps you use those tools. We’ve built the GitHub Copilot modernization tooling to help you modernize your .NET code. And we wanted to create a course to help you use the tools so we created the .NET Modernization for Beginners course.

This is a free, open-source, hands-on course that walks you through modernizing a real legacy ASP.NET application all the way to .NET 10, using the GitHub Copilot modernization agent. The course walks you through the modernization journey step-by-step. Along the way you’ll learn how the tooling produces assessments and plans before it changes any code and how you can modify those to tell the coding agent exactly what needs to happen.

Why a hands-on course?

There’s no better way to learn than by doing. And in this course you’re not just going to read about the GitHub Copilot modernization and some theory, but the course will give you exercises to do it too. (You will need a GitHub Copilot subscription.)

GitHub Copilot modernization works differently from agentic development tools you may have tried before. It does not just rewrite your code behind the scenes and hand you back something you have to reverse-engineer. It produces transparent, editable artifacts that you can read, question, and adjust: an assessment.md, a plan.md, and a tasks.md. Those files become your guide and your source of truth. You review them, you shape them, and only then does the work begin. The agent assists you, but you make the calls.

The four chapters

The course is organized in the same way you’d approach a modernization journey. Each chapter builds on the last, and each one teaches you not just what to do, but why you are doing it.

Chapter 1 – Assessment

You start by pointing the modernization agent at a legacy solution and letting it analyze what is really there. You explore the generated assessment.md to understand the risks, the dependencies, and the level of effort involved, so you begin from facts instead of guesses.

Chapter 2 – Planning

Next you turn those insights into a plan. The agent produces a plan.md with recommended target frameworks, a sequence of upgrade steps, and an effort estimate. You learn how to review it, customize it for your context, and finalize a plan you actually believe in.

Chapter 3 – Upgrade & Execution

This is where the agentic development happens. The agent executes the plan while you track progress in tasks.md, moving the application forward iteratively. You will see it do the heavy lifting while you stay in the driver’s seat and make the decisions that matter.

Chapter 4 – Cloud with Azure

Modernization is not finished until your app is running where it belongs. In the final chapter you publish the modernized application to Azure App Service and look at the next steps for operating and evolving it, so the journey ends with something live, not just something that compiles.

Get started

You can be up and running in just a few minutes.

  1. Make sure you have Visual Studio 2022 (17.10 or later) or Visual Studio 2026 with a GitHub Copilot subscription.
  2. Clone the repository from github.com/microsoft/dotnet-modernization-for-beginners.
  3. Begin with Chapter 0 (Introduction).

Everything you need is in the repo, including step-by-step written instructions and companion videos for each chapter.

We’re not creating this in a vacuum and we want to hear from you. Open some issues to suggest improvements, request new chapters, or report problems. Feel free to submit PRs if you want too! And don’t forget to star the repo if you find it useful!

Legacy code does not have to be overwhelming. Grab the repo, open Visual Studio, and let us modernize .NET together, one application at a time.

Category

Topics

Author

Pablo Lopes

Pablo is a member of the Microsoft Advocacy team, specializing in Application Development. Being committed to bridging communities—students, startups, developers, and corporate entities—through the power of .NET, Python, Azure, AI, and the broader Microsoft stack.