Todo software empresarial atual consiste não apenas no código escrito na solution, mas também de diversas dependências externas. Então, se estiver pensando em migrar, a primeira coisa a fazer é verificar se as dependências estão disponíveis no .NET Core. E claro, analisar se seu código é portável.

A ferramenta .NET Portability Analyzer pode te ajudar a identificar quão portável é teu código para .NET Core.

toolkit and tools

O que é

O Portability Analyzer é uma ferramenta que pode ajudar você a identificar a portabilidade de seu aplicativo. Ela faz analise de APIs, identificando quais não são portáveis entre diversas frameworks .NET.

É um plugin para o visual studio que gerá um relatório tanto em excel quanto em HTML. Que irá relatar o nível de compatibilidade do projeto com o .NET Core 3.0, 2.2 etc.

Além disso a ferramenta enviará esses dados de compatibilidade para a equipe do .NET na Microsoft. Para auxiliar a equipe determinar quais APIs são necessárias para a maioria dos usuários.

E isso pode influenciar quais serão as próximos componentes a serem portados.

Não se preocupe, pois nenhum código ou DLL sua será enviado para a Microsoft.

Instalando

Esta ferramenta pode ser instalada como uma extensão do Visual Studio. Para isso vá no Marktplace, faça download e instale.

Depois de instalar a extensão, abra o visual studio e vá em Analyze > Portability Analyzer Settings:

options

A ferramenta não é exclusiva para o .NET Core. É possivel analisar a portabilidade para diversas plataformas e versões da Framework. Há muitas opções para escolher. Varia conforme tua necessidade.

Testando

Este teste será feito utilizando uma bibliotea open source que ainda não foi portada. Será o Firesharp.

Após ter feito download da solução, assim que estiver aberto no Visual Studio, pressione o botão direito na Solution e selecione Analyze Assembly Portability

solution

Após alguns segundos, uma caixa de dialogo irá abrir exibindo os arquivos de Relatório.

Para essa API o relatório apontou 100% de compatibilidade para o .NET Core 2.2 e 3.

Relatório em Excel:

relatorio-excel

Retatório em HTML:

relatorio-html

Conclusão

Espero que essa ferramenta ajude-os a migrar suas aplicações!

Happy Coding!