a•abacadigital

.NET DEVELOPMENT / MIGRATION

Move the application forward.
Account for the work it already does.

Migration planning and development for older .NET websites and business applications. We work from your existing behaviour, data and constraints to define what needs changing and how the change will be checked.

Discuss a migration ↗

What is the reason for moving?

A migration may be prompted by a hosting change, a dependency that can no longer be maintained, difficulty releasing updates or a requirement the existing design cannot accommodate. Establishing that reason helps decide which work belongs in the first phase.

Moving runtime, redesigning the interface and changing business processes are different tasks. Combining them all can make it difficult to tell whether an unexpected result comes from the migration or a new requirement. We separate those decisions in the scope.

Older .NET is not one uniform starting point.

A move between modern .NET versions differs from moving an ASP.NET Framework application to ASP.NET Core. Web-specific dependencies, authentication, session behaviour and third-party controls may need changes rather than a simple project-setting update.

We review the actual project before selecting a target. Runtime support, hosting compatibility and required components are checked at that point rather than relying on a version number in a marketing page.

Technical background: Microsoft’s ASP.NET Framework-to-Core migration guidance.

CHOOSING THE APPROACH

Change enough to solve
the problem you have.

Maintain and prepare

If a migration is not yet justified or ready, identify the operating risks, missing documentation and prerequisites. Continued maintenance is appropriate only within the actual platform and dependency constraints.

Move a defined section

A larger application may allow a bounded part to move first. The plan must address how old and new parts exchange requests, identities and data, and who maintains both during the transition.

Replace in one release

A smaller, well-understood application may suit a single cutover after testing. This still requires a plan for data changes, acceptance, deployment and a failed release.

These are planning options, not fixed packages. A separate cloud move or visual redesign is included only when the agreed requirements call for it.

DISCOVERY THAT INFORMS A DECISION

What should the first review produce?

A dependency and workflow picture

Record application components, database connections, scheduled tasks, file storage and external integrations. Identify the tasks staff and customers rely on, including less frequent work such as year-end reports or data exports.

Review the parts tied to the current framework: request handling, session, identity, configuration and third-party libraries. For a CMS, include content types, publishing behaviour and media rather than comparing the public pages alone.

An agreed route with open questions

Set out the proposed target, work boundaries, dependencies and acceptance criteria. Identify unknowns that need a small technical trial before an estimate can be reliable.

The scope should explain what stays, what changes and what is excluded. Record responsibility for hosting, licences and any systems outside our control. List each unresolved dependency alongside the check needed to resolve it, so that the estimate has a stated basis.

DATA AND BUSINESS BEHAVIOUR

A page loading is only one check.

Use representative records and agreed examples to compare the old and proposed application. Check calculations, statuses, permissions, searches, exports and scheduled processing where they fall within the scope.

For a data move, define how records and relationships are mapped and reconciled. Totals and record counts can be useful checks, but they do not by themselves prove that every field and business rule has been preserved. Access to production data should be limited to the agreed purpose and environment.

ILLUSTRATIVE PLANNING EXAMPLE

A booking system has more than a booking page.

A sample migration brief might include date handling, prices, cancellation states, email notifications and an administration report. A release checklist needs examples for each agreed workflow, including unsuccessful or incomplete requests.

This is an illustration of how to scope testing, not a claim that we migrated a named client's booking system. Our rental-system experience and internal application work are documented separately with their confirmed contributions.

BEFORE THE LIVE CHANGE

Rehearse the release.
Know when to stop it.

Agree acceptance

Name the people who will review the application and the examples they will use. Record unresolved differences rather than treating a successful deployment as business acceptance.

Plan the data window

Decide whether writes need to pause, how late changes are handled and which system owns each record during the transition. Test the agreed migration steps before the live cutover.

Define rollback limits

A restored database may omit bookings or updates made after the release. Decide how those later records will be retained or reconciled, how service will resume and who authorises reversal. Some data changes may require forward correction.

Set the handover

Document configuration and release steps, then agree an observation period and support responsibilities. Review actual errors and representative tasks after launch.

MIGRATION QUESTIONS

Decisions worth making early.

Can you guarantee no downtime or data loss?+

No blanket guarantee is appropriate before reviewing the system. We agree service windows, reconciliation checks, backup and recovery responsibilities, and the handling of changes made during cutover. Those arrangements belong in the project plan.

Will a newer runtime make the application faster?+

A runtime change is not a performance result. Database work, network calls and application behaviour may still dominate the task. Agree a baseline and comparable test conditions if performance is an objective.

Must we move the database at the same time?+

Not necessarily. The data-access layer and hosting constraints determine what can remain. Keeping a database and changing its schema are different decisions; both need checking against the proposed application.

Can the old and new application run together?+

Sometimes, where the routing, identity and data boundaries allow it. The overlap adds operational work and needs a planned end. We assess the application before recommending an incremental approach.

What information should we provide first?+

The current framework if known, the reason for the move, important workflows, hosting constraints and your required timing. We can then arrange a suitable code and environment review. Do not send credentials or confidential database files with the initial enquiry.

Vendor lifecycle information: Microsoft .NET support policies. Architecture and component compatibility must be checked for the individual project.

What needs to change,
and what must keep working?

Discuss your migration ↗