
Semantic correctness, not regex.
Recipes operate on a compiler-accurate structural model with full symbol and type resolution. Format, comments, and conventions are preserved on every run.
.NET Core 1.0 through .NET 10, NuGet management, xUnit-to-TUnit test migration, and code-quality cleanup modeled on Roslynator. Built on a compiler-accurate model of your code, now fully C#-aware.
Moderne builds a compiler-accurate model of every C# file, with NuGet and .csproj support on the same engine that ships Java migrations today.
.NET 8 and .NET 9 both reach end-of-life on November 10, 2026. Every codebase on either version must migrate to .NET 10.
Migrating hundreds of .NET repositories to .NET 10 would have cost us hundreds of engineering hours. With Moderne, we did it at a scale and speed that simply wouldn’t have been possible otherwise.
Moderne’s migration recipes cover the full range from .NET Core 1.0 through .NET 10, including ASP.NET Framework to Core migrations. Running a single UpgradeToDotNet10 recipe chains through every intermediate version automatically.
Microsoft’s .NET Upgrade Assistant has been officially deprecated as of late 2025. Moderne applies the same migrations deterministically across hundreds of repositories in a single coordinated run, delivering reviewable pull requests at scale — without manual supervision at each step. Where the .NET Upgrade Assistant guided one project at a time, Moderne handles your entire portfolio.
Yes. Moderne parses and transforms .csproj project files to upgrade NuGet packages and update project references across entire repository estates — extending transformation coverage beyond application code to the dependency layer.
Moderne’s migration model runs in two tiers. Tier 1 covers transformations with a clear, known target state and applies them automatically. Tier 2 surfaces changes with behavioral implications — these are flagged with inline markers and explanations so your team decides before any transformation runs. You get the automated wins immediately and a prioritized list of what needs a decision.
Yes. C# is now fully represented in the Moderne Lossless Semantic Tree, giving coding agents a semantic model of your .NET codebase to analyze and propose changes against. Recipes provide the governed execution layer that applies agent-proposed changes safely and consistently across repositories.
Moderne’s code quality recipes are modeled against established Roslynator and Meziantou diagnostics — the same standards the .NET community already uses for static analysis. Every recipe is validated against its equivalent Roslyn analyzer on real open source repositories.
Modernize .NET once. Stay current as new versions ship.