Upgrade ASP.NET Zero without losing your customizations
The problem
ASP.NET Zero projects are generated from a template and then customized, so every new template release has to be merged by hand into code that has diverged.
Teams fall several versions behind because the manual merge takes weeks, and skipped versions make the eventual jump bigger and riskier.
What UpgradePilot does for ASP.NET Zero
- Detects your current ASP.NET Zero / ABP version from the solution.
- Downloads the target template and compares it to your code with Roslyn syntax trees.
- Runs a semantic three-way merge: propagates template changes only where you never touched the member.
- Upgrades NuGet packages (including Central Package Management) and verifies them with
dotnet restore. - Applies Roslyn API-refactoring codemods and checks EF Core migrations, flagging destructive operations.
- Builds and tests the result for real, scans for NuGet vulnerabilities, and opens a pull request with a rollback plan.
What you still review by hand
UpgradePilot is built so nothing is hidden: these are the places a person should look before merging.
- Every conflict flagged by the Semantic Merge Engine — these are the places your code and the template both changed.
- Generated EF Core migrations, especially anything marked destructive; UpgradePilot never applies those silently.
- Tenant, authorization and permission customizations specific to your product.
- Frontend project(s) in the solution — see the React/Next.js guides if your UI is one of them.
Common pitfalls
- Skipping several template versions at once makes conflicts harder to read — plan intermediate checkpoints if the gap is large.
- Customized base classes and overridden services are the usual conflict hot-spots.
- Run the upgrade on a clean branch with a green test suite so regressions are attributable.
Documentation to review
Read the official notes for the versions you’re crossing alongside the pull request UpgradePilot produces.
ASP.NET Zero upgrade FAQ
Can UpgradePilot upgrade ASP.NET Zero across multiple versions at once?
Yes, the pipeline compares your solution with the target template regardless of the gap. For large gaps we recommend reviewing the conflict list carefully, or upgrading in stages — the free assessment can advise.
What about ASP.NET Zero’s Angular or MVC front ends?
The .NET/ABP server side is handled by the .NET agents, and React or Next.js frontends by the frontend agents. Angular is not among the stacks listed as supported today — ask us about your setup before you start.
Will it touch my custom modules?
Only if the template change and your code do not overlap. Where they do overlap, UpgradePilot raises a conflict instead of merging.