Pular para o conteúdo
LFD

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

FIG. 03 — ERP desktop: do .NET Framework ao .NET 10Provar o comportamento, isolar o que não migra, publicar com caminho de volta.
01.NET FRAMEWORK4.8 · WinForms02CARACTERIZAÇÃOtestes antes de mudar03MULTI-TARGETnet48 + net1004.NET 10versão oficial05CRYSTALprocesso auxiliar06CLICKONCEself-contained

05 · Stack

DesktopC# · WinForms · .NET 10 (net10.0-windows) · .NET Framework 4.8 na transição
RelatóriosCrystal Reports em processo isolado
Qualidade e entregaxUnit (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.