Keep valuable software running without throwing away years of business investment.
.NET & Legacy Application Consulting
Many business applications were built years ago on .NET Framework, ASP.NET, or early versions of ASP.NET MVC. The software works — but it is becoming harder to maintain, harder to change, and harder to find developers who are willing to work on it. Conceptlab works with these systems.
Legacy Application Maintenance
Legacy .NET applications are often stable but brittle. Years of accumulated changes, no architectural consistency, and original developers who are no longer available make every change feel risky. Effective maintenance of legacy software requires understanding what is there before changing anything.
- Bug diagnosis and resolution in unfamiliar codebases
- Dependency auditing — NuGet packages, third-party libraries, COM references
- .NET Framework version review and security patch assessment
- Risk assessment before making changes
- Documentation of undocumented behaviour
ASP.NET MVC Applications
ASP.NET MVC 5 applications on .NET Framework remain in production at thousands of businesses. They are no longer actively developed by Microsoft, but they continue to work. Conceptlab has deep experience with this stack — routing, model binding, Razor views, authentication, data access, and the patterns that were common during the period when these applications were built.
- Routing and controller troubleshooting
- Razor view debugging and refactoring
- Authentication and authorisation review (Forms auth, Windows auth, Identity)
- Data access layer review and optimisation
- Filter, model binder and action result debugging
- Bundling, minification and static asset pipeline
Entity Framework
Entity Framework — both EF6 on .NET Framework and EF Core on modern .NET — is widely used in business applications and frequently the source of significant performance problems. The N+1 query problem, lazy loading in the wrong context, and queries that execute far more SQL than expected are common issues that are straightforward to identify and resolve.
- N+1 query identification and resolution
- Lazy loading and eager loading strategy review
- SQL query inspection — understanding what EF is actually sending to SQL Server
- Migration troubleshooting
- DbContext lifetime and scoping issues
- EF6 to EF Core migration assessment
C# Development & Refactoring
Technical debt in C# codebases accumulates gradually. Long methods, tightly coupled classes, no separation of concerns, logic embedded in controllers or UI — these patterns make the codebase progressively harder to work in. Incremental refactoring, done systematically, reduces risk while improving maintainability.
- Code review and quality assessment
- Refactoring of high-risk, tightly coupled code
- Separation of business logic from presentation and data access
- Technical debt identification and prioritisation
- C# version upgrade assessment (.NET Framework language versions)
Web APIs
REST APIs built on ASP.NET Web API or ASP.NET Core are a common integration point in business applications. Performance problems, authentication issues, serialisation behaviour, and incorrect HTTP semantics are recurring concerns that require careful diagnosis.
- REST API design review and correction
- API performance analysis — slow endpoints, serialisation overhead
- Authentication and authorisation review (JWT, API keys, OAuth)
- Integration troubleshooting between systems
- Swagger/OpenAPI documentation review
- Middleware pipeline analysis
JavaScript, jQuery & TypeScript in Existing Applications
Many .NET applications have significant frontend code that pre-dates modern JavaScript frameworks. jQuery, legacy JavaScript, and vanilla JS in Razor views accumulates alongside the application itself. These frontends are often undocumented and poorly structured, but they serve real business needs.
- Frontend bug diagnosis in existing .NET applications
- jQuery and vanilla JS debugging
- TypeScript introduction and migration planning
- Frontend performance analysis
- AJAX and API integration debugging
Framework Migration Planning
Moving from .NET Framework to modern .NET is not always straightforward. Dependencies, compatibility shims, runtime behaviour differences, and architecture constraints can all create unexpected problems. An honest assessment of what migration involves — before committing to it — is a valuable first step.
- Dependency compatibility assessment using .NET Upgrade Assistant analysis
- Third-party library compatibility review
- Runtime behaviour difference assessment
- Incremental vs big-bang migration strategy
- Effort and risk estimation
- Identify which parts of the application are migration blockers
Discuss Your .NET Application
If the application is becoming harder to maintain, harder to change, or harder to understand — start with a conversation about what is happening and what outcome is needed.
Get in Touch