BT

Início Notícias Projetos ASP.NET Core 3.0 entram em dieta

Projetos ASP.NET Core 3.0 entram em dieta

Favoritos

Os novos projetos do ASP.NET Core usam um pacote "omnibus" chamado Microsoft.AspNetCore.App. Também conhecido como "ASP.NET Core Shared Framework", a ideia básica por trás deste pacote é incluir todas as funcionalidades que um aplicativo típico exigiria. Mas se observar as dependências para este pacote, a definição de "necessidade" parece ser bastante ampla.

Atualmente, o Microsoft.AspNetCore.App tem 150 dependências listadas explicitamente, mais que as 144 listadas sete meses atrás. Entre elas, há nove pacotes diferentes de provedores de autenticação.

  • Cookies
  • Facebook
  • Google
  • JwtBearer
  • Microsoft Account
  • OAuth
  • OpenIdConnect
  • Twitter
  • WsFederation

Há oito pacotes para suporte ao Entity Framework Core com o SQL Server, uma biblioteca de cache do SQL Server, um pacote EF Core para diagnósticos e outro para identidade, e muito mais.

Da lista de 150 dependências, 31 estão com remoção planejada no Shared Framework do ASP.NET Core 3.0 por violarem os novos critérios de inclusão, já que:

(1) possuem dependências de código de terceiros que não temos capacidade de servir

(2) as assemblies estão sendo marcadas como obsoletas na versão 3.0

(3) implementam protocolos ou mecanismos de autenticação altamente propensos a mudanças (por exemplo, o Facebook/Google/Twitter podem decidir no futuro mudar a forma como a autorização funciona)

Nate McMaster, engenheiro de software sênior do projeto ASP.NET Core, prossegue:

Adicionamos muitas coisas à versão 2.0 e estamos fazendo ajustes para chegar em um conjunto que seja sustentável para o futuro. A maioria dos assemblies removidos do Microsoft.AspNetCore.App ainda será oferecida como pacotes do NuGet. Se descobrirmos mais tarde que 90% de todos os clientes fazem referência ao mesmo pacote, ele se passaria a ser um bom candidato para o framework compartilhado. Conforme mencionado no documento de orientações, no entanto, o volume de uso de uma API é uma métrica importante, mas não o único fator que consideramos.

Como isso afeta os projetos atuais?

Se decidir atualizar para o ASP.NET Core 3.0, seu aplicativo irá quebrar se for usado qualquer um dos pacotes excluídos do Shared Framework. No entanto, a correção é simplesmente adicionar manualmente os pacotes excluídos ao projeto, como seria feito com qualquer outra dependência no estilo Nuget.

Quais pacotes são realmente necessários?

Quais pacotes são necessários, depende do que seu aplicativo realmente faz. Mas considerando, digamos, um servidor REST simples, só seria preciso referenciar diretamente três pacotes:

  • Microsoft.AspNetCore
  • Microsoft.AspNetCore.Mvc
  • Microsoft.AspNetCore.HttpsPolicy

O primeiro deles, o Microsoft.AspNetCore, tem 18 dependências diretas. O Mvc adiciona 13 dependências próprias e o HttpsPolicy, mais cinco. Essa contagem não inclui dependências sobrepostas ou indiretas, mas mesmo assim reflete um conjunto de dependências muito menor e mais fácil de gerenciar.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.