A customized ASP.NET Zero SaaS product, several versions behind
- The situation
- A SaaS product built on an ASP.NET Zero template two years ago. The team has customized tenant management, billing and the permission model, and every upgrade attempt stalled in the merge.
- The challenge
- Template changes and years of product changes overlap in the same classes, so a text diff drowns the real conflicts.
- What UpgradePilot does
- UpgradePilot detects the version, downloads the target template, and compares both trees with Roslyn. Template changes in untouched members are applied; overlapping members become conflicts. Packages are bumped and restored, migrations checked, build and tests run.
- What the team reviews
- The conflict list (mostly the customized tenant and permission code), plus any migration marked destructive.
- What to expect
- The team starts from a building, tested branch and a short list of conflicts rather than an empty merge.