Partilhar via


Metapacote Microsoft.AspNetCore.All para ASP.NET Core 2.0

Observação

Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão .NET 10 deste artigo.

Advertência

Esta versão do ASP.NET Core não é mais suportada. Para obter mais informações, consulte a Política de suporte do .NET e do .NET Core. Para a versão atual, consulte a versão .NET 9 deste artigo.

Observação

O Microsoft.AspNetCore.All metapacote não é usado no ASP.NET Core 3.0 ou posterior. Para obter mais informações, consulte este problema do GitHub.

Observação

Recomendamos que os aplicativos destinados ao ASP.NET Core 2.1 ou posterior usem o metapacote Microsoft.AspNetCore.App em vez deste pacote. Consulte Migrando de Microsoft.AspNetCore.All para Microsoft.AspNetCore.App neste artigo.

Esse recurso requer o ASP.NET Core 2.x direcionado ao .NET Core 2.x.

Microsoft.AspNetCore.All é um metapacote que se refere a uma estrutura compartilhada. Uma estrutura compartilhada é um conjunto de assemblies (arquivos.dll ) que não estão nas pastas do aplicativo. A estrutura compartilhada deve ser instalada na máquina para executar o aplicativo. Para obter mais informações, consulte A estrutura compartilhada.

O quadro partilhado a que Microsoft.AspNetCore.All se refere inclui:

  • Todos os pacotes suportados pela equipe ASP.NET Core.
  • Todos os pacotes suportados pelo Entity Framework Core.
  • Dependências internas e de terceiros usadas pelo ASP.NET Core e pelo Entity Framework Core.

Todos os recursos do ASP.NET Core 2.x e do Entity Framework Core 2.x estão incluídos no Microsoft.AspNetCore.All pacote. Os modelos de projeto padrão destinados ao ASP.NET Core 2.0 usam este pacote.

O número da versão do Microsoft.AspNetCore.All metapacote representa a versão mínima do ASP.NET Core e do Entity Framework Core.

O seguinte .csproj arquivo faz referência ao Microsoft.AspNetCore.All metapacote para ASP.NET Core:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.9" />
  </ItemGroup>

</Project>

Controle de versão implícito

No ASP.NET Core 2.1 ou posterior, você pode especificar a referência do Microsoft.AspNetCore.All pacote sem uma versão. Quando a versão não é especificada, uma versão implícita é especificada pelo SDK (Microsoft.NET.Sdk.Web). Recomendamos confiar na versão implícita especificada pelo SDK e não definir explicitamente o número da versão na referência do pacote. Se você tiver dúvidas sobre essa abordagem, deixe um comentário no GitHub na Discussão para a Microsoft.AspNetCore.App versão implícita.

A versão implícita está definida como major.minor.0 para aplicações portáteis. O mecanismo roll-forward da estrutura compartilhada executa o aplicativo na versão compatível mais recente entre as estruturas compartilhadas instaladas. Para garantir que a mesma versão seja usada no desenvolvimento, teste e produção, certifique-se de que a mesma versão da estrutura compartilhada seja instalada em todos os ambientes. Para aplicativos autônomos, o número de versão implícito é definido como o major.minor.patch da estrutura compartilhada incluída no SDK instalado.

Especificar um número de versão na referência do Microsoft.AspNetCore.All pacote não garante que a versão da estrutura compartilhada seja escolhida. Por exemplo, suponha que a versão "2.1.1" é especificada, mas "2.1.3" está instalada. Nesse caso, o aplicativo usará "2.1.3". Embora não seja recomendado, você pode desativar o roll forward (patch e/ou menor). Para obter mais informações sobre o roll-forward do host dotnet e como configurar seu comportamento, consulte dotnet host roll-forward.

O SDK do projeto deve ser definido como Microsoft.NET.Sdk.Web no arquivo de projeto para usar a versão implícita do Microsoft.AspNetCore.All. Quando o Microsoft.NET.Sdk SDK é especificado (<Project Sdk="Microsoft.NET.Sdk"> na parte superior do arquivo de projeto), o seguinte aviso é gerado:

Aviso NU1604: Dependência de projeto Microsoft.AspNetCore.All não contém um limite inferior inclusivo. Inclua um limite inferior na versão de dependência para garantir resultados de restauração consistentes.

Este é um problema conhecido com o SDK do .NET Core 2.1 e será corrigido no SDK do .NET Core 2.2.

Migrando de Microsoft.AspNetCore.All para Microsoft.AspNetCore.App

Os seguintes pacotes estão incluídos no Microsoft.AspNetCore.All, mas não no pacote Microsoft.AspNetCore.App.

  • Microsoft.AspNetCore.ApplicationInsights.HostingStartup
  • Microsoft.AspNetCore.AzureAppServices.HostingStartup
  • Microsoft.AspNetCore.AzureAppServicesIntegration
  • Microsoft.AspNetCore.DataProtection.AzureKeyVault
  • Microsoft.AspNetCore.DataProtection.AzureStorage
  • Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
  • Microsoft.AspNetCore.SignalR.Redis
  • Microsoft.Data.Sqlite
  • Microsoft.Data.Sqlite.Core
  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Core
  • Microsoft.Extensions.Caching.Redis
  • Microsoft.Extensions.Configuration.AzureKeyVault
  • Microsoft.Extensions.Logging.AzureAppServices
  • Microsoft.VisualStudio.Web.BrowserLink

Para mover Microsoft.AspNetCore.All de para Microsoft.AspNetCore.App, se seu aplicativo usa APIs dos pacotes acima ou pacotes trazidos por esses pacotes, adicione referências a esses pacotes em seu projeto.

Quaisquer dependências dos pacotes anteriores que, de outra forma, não sejam dependências do Microsoft.AspNetCore.App não são incluídas implicitamente. Por exemplo:

  • StackExchange.Redis como dependência de Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights como dependência de Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Atualização ASP.NET Core 2.1

Recomendamos migrar para o Microsoft.AspNetCore.App metapacote da versão 2.1 ou posterior. Para continuar usando o Microsoft.AspNetCore.All metapacote e garantir que a versão mais recente do patch seja implantada:

  • Em máquinas de desenvolvimento e servidores de construção: instale o SDK mais recente do .NET Core.
  • Em servidores de implantação: instale o tempo de execução mais recente do .NET Core. Seu aplicativo avançará para a versão instalada mais recente em uma reinicialização do aplicativo.