Case 03 · Modernização de legado
ERP desktop: do .NET Framework ao .NET 10
Um ERP desktop de cerca de 240 mil linhas migrado do .NET Framework 4.8 para o .NET 10 — com a operação rodando o tempo todo.
- Cliente
- Fitacabo
- Área
- Modernização de legado
- Período
- 2026
01 · Contexto
O Gerenciador é o ERP desktop da Fitacabo: cadastros, compras, faturamento com NF-e, financeiro, PCP e vendas. É o sistema transacional e fiscal da empresa, com código que vem desde 2009.
02 · Problema
Preso ao .NET Framework 4.8, o sistema dependia de componentes antigos — WCF, Crystal Reports, bibliotecas sem suporte — e ficava cada vez mais caro e arriscado de manter.
03 · O que a LFD construiu
- Inventário dos bloqueios: WCF do fiscal, Crystal Reports, componentes COM, drivers de banco antigos e DLLs sem suporte.
- Testes de caracterização antes de qualquer mudança, para provar que o comportamento continuava o mesmo.
- Projetos convertidos para o formato SDK, com multi-target (.NET Framework 4.8 e .NET 10) durante a transição.
- Relatórios Crystal isolados num processo auxiliar, para não prender o restante do sistema ao runtime antigo.
- Distribuição ClickOnce self-contained, com proteção contra downgrade e workflow de rollback.
04 · Arquitetura
05 · Stack
| Desktop | C# · WinForms · .NET 10 (net10.0-windows) · .NET Framework 4.8 na transição |
|---|---|
| Relatórios | Crystal Reports em processo isolado |
| Qualidade e entrega | xUnit (caracterização) · MSBuild · ClickOnce · GitHub Actions |
06 · Resultado
- .NET 10 é a versão oficial em produção desde 12/09/2026.
- Sistema com 241 telas e 90 relatórios migrado sem reescrita.
- Suíte de caracterização com 512 execuções aprovadas nos dois runtimes.
- Canal de distribuição com proteção contra downgrade e workflow de rollback.
07 · Aprendizado
Não se migra tudo de uma vez. Primeiro se prova o comportamento com testes, depois se isola o que não migra — e o resto anda.