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

Observação

Recomendamos que os aplicativos direcionados ao ASP.NET Core 2.1 e posterior usem o metapacote Microsoft.AspNetCore.App em vez desse pacote.We recommend applications targeting ASP.NET Core 2.1 and later use the Microsoft.AspNetCore.App metapackage rather than this package. Veja Migração do Microsoft.AspNetCore.All para Microsoft.AspNetCore.App neste artigo.See Migrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App in this article.

Este recurso exige o ASP.NET Core 2.x direcionado ao .NET Core 2.x.This feature requires ASP.NET Core 2.x targeting .NET Core 2.x.

Microsoft.AspNetCore.All é um metapacote que faz referência a uma estrutura compartilhada.Microsoft.AspNetCore.All is a metapackage that refers to a shared framework. Uma estrutura compartilhada é um conjunto de assemblies (arquivos .dll) que não estão em pastas do aplicativo.A shared framework is a set of assemblies (.dll files) that are not in the app's folders. A estrutura compartilhada deve ser instalada no computador para executar o aplicativo.The shared framework must be installed on the machine to run the app. Saiba mais em A estrutura compartilhada.For more information, see The shared framework.

A estrutura compartilhada a que Microsoft.AspNetCore.All se refere inclui:The shared framework that Microsoft.AspNetCore.All refers to includes:

  • Todos os pacotes com suporte da equipe do ASP.NET Core.All supported packages by the ASP.NET Core team.
  • Todos os pacotes com suporte pelo Entity Framework Core.All supported packages by the Entity Framework Core.
  • Dependências internas e de terceiros usadas por ASP.NET Core e pelo Entity Framework Core.Internal and 3rd-party dependencies used by ASP.NET Core and Entity Framework Core.

Todos os recursos do ASP.NET Core 2.x e do Entity Framework Core 2.x são incluídos no pacote Microsoft.AspNetCore.All.All the features of ASP.NET Core 2.x and Entity Framework Core 2.x are included in the Microsoft.AspNetCore.All package. Os modelos de projeto padrão direcionados para ASP.NET Core 2.0 usam este pacote.The default project templates targeting ASP.NET Core 2.0 use this package.

O número de versão do metapacote Microsoft.AspNetCore.All representa a versão mínima do ASP.NET Core e a versão do Entity Framework Core.The version number of the Microsoft.AspNetCore.All metapackage represents the minimum ASP.NET Core version and Entity Framework Core version.

O seguinte arquivo .csproj referencia os metapacotes Microsoft.AspNetCore.All para o ASP.NET Core:The following .csproj file references the Microsoft.AspNetCore.All metapackage for 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ícitaImplicit versioning

No ASP.NET Core 2.1 ou posterior, você pode especificar a referência de pacote Microsoft.AspNetCore.All sem uma versão.In ASP.NET Core 2.1 or later, you can specify the Microsoft.AspNetCore.All package reference without a version. Quando a versão não for especificada, uma versão implícita será especificada pelo SDK (Microsoft.NET.Sdk.Web).When the version isn't specified, an implicit version is specified by the SDK (Microsoft.NET.Sdk.Web). Recomendamos que você conte com a versão implícita especificada pelo SDK, e não defina explicitamente o número de versão na referência de pacote.We recommend relying on the implicit version specified by the SDK and not explicitly setting the version number on the package reference. Caso tenha dúvidas sobre essa abordagem, deixe um comentário no GitHub na Discussion for the Microsoft.AspNetCore.App implicit version (Discussão sobre a versão implícita do Microsoft.AspNetCore.App).If you have questions about this approach, leave a GitHub comment at the Discussion for the Microsoft.AspNetCore.App implicit version.

A versão implícita é definida como major.minor.0 para aplicativos portátil.The implicit version is set to major.minor.0 for portable apps. O mecanismo de roll forward da estrutura compartilhada executará o aplicativo na versão compatível mais recente entre as estruturas compartilhadas instaladas.The shared framework roll-forward mechanism runs the app on the latest compatible version among the installed shared frameworks. Para garantir que a mesma versão seja usada no desenvolvimento, no teste e na produção, certifique-se de que a mesma versão da estrutura compartilhada seja instalada em todos os ambientes.To guarantee the same version is used in development, test, and production, ensure the same version of the shared framework is installed in all environments. Para aplicativos autossuficientes, o número de versão implícita é definido como o major.minor.patch da estrutura compartilhada agrupada no SDK instalado.For self-contained apps, the implicit version number is set to the major.minor.patch of the shared framework bundled in the installed SDK.

A especificação de um número de versão na referência de pacote Microsoft.AspNetCore.All não assegura que a versão da estrutura compartilhada será escolhida.Specifying a version number on the Microsoft.AspNetCore.All package reference does not guarantee that version of the shared framework is chosen. Por exemplo, suponha que a versão "2.1.1" foi especificada, mas "2.1.3" está instalada.For example, suppose version "2.1.1" is specified, but "2.1.3" is installed. Nesse caso, o aplicativo usará "2.1.3".In that case, the app will use "2.1.3". Embora não seja recomendado, você pode desabilitar o roll forward (patch e/ou secundária).Although not recommended, you can disable roll forward (patch and/or minor). Para obter mais informações sobre como efetuar roll forward do host dotnet e como configurar seu comportamento, veja Efetuar roll forward do host dotnet.For more information regarding dotnet host roll-forward and how to configure its behavior, see dotnet host roll forward.

O SDK do projeto precisa ser definido como Microsoft.NET.Sdk.Web no arquivo de projeto para usar a versão implícita do Microsoft.AspNetCore.All.The project's SDK must be set to Microsoft.NET.Sdk.Web in the project file to use the implicit version of Microsoft.AspNetCore.All. Quando o SDK Microsoft.NET.Sdk for especificado (<Project Sdk="Microsoft.NET.Sdk"> na parte superior do arquivo de projeto), o seguinte aviso será gerado:When the Microsoft.NET.Sdk SDK is specified (<Project Sdk="Microsoft.NET.Sdk"> at the top of the project file), the following warning is generated:

Aviso NU1604: a dependência de projeto Microsoft.AspNetCore.All não tem um limite inferior inclusivo. Inclua um limite inferior na versão de dependência para garantir resultados consistentes de restauração.Warning NU1604: Project dependency Microsoft.AspNetCore.All does not contain an inclusive lower bound. Include a lower bound in the dependency version to ensure consistent restore results.

Esse é um problema conhecido com o SDK do .NET Core 2.1 e será corrigido no SDK do .NET Core 2.2.This is a known issue with the .NET Core 2.1 SDK and will be fixed in the .NET Core 2.2 SDK.

Migração do Microsoft.AspNetCore.All para Microsoft.AspNetCore.AppMigrating from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App

Os pacotes a seguir estão incluídos no Microsoft.AspNetCore.All, mas não no pacote Microsoft.AspNetCore.App.The following packages are included in Microsoft.AspNetCore.All but not the Microsoft.AspNetCore.App package.

  • 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 de Microsoft.AspNetCore.All para Microsoft.AspNetCore.App, se seu aplicativo usa APIs dos pacotes acima ou de pacotes trazidos por eles, adicione referências a eles em seu projeto.To move from Microsoft.AspNetCore.All to Microsoft.AspNetCore.App, if your app uses any APIs from the above packages, or packages brought in by those packages, add references to those packages in your project.

Todas as dependências dos pacotes anteriores que, de outra forma, não são dependências de Microsoft.AspNetCore.App não são incluídas implicitamente.Any dependencies of the preceding packages that otherwise aren't dependencies of Microsoft.AspNetCore.App are not included implicitly. Por exemplo:For example:

  • StackExchange.Redis como uma dependência de Microsoft.Extensions.Caching.RedisStackExchange.Redis as a dependency of Microsoft.Extensions.Caching.Redis
  • Microsoft.ApplicationInsights como uma dependência de Microsoft.AspNetCore.ApplicationInsights.HostingStartupMicrosoft.ApplicationInsights as a dependency of Microsoft.AspNetCore.ApplicationInsights.HostingStartup

Atualizar o ASP.NET Core 2.1Update ASP.NET Core 2.1

É recomendável migrar para o metapacote Microsoft.AspNetCore.App para a versão 2.1 e posteriores.We recommend migrating to the Microsoft.AspNetCore.App metapackage for 2.1 and later. Para continuar usando o metapacote Microsoft.AspNetCore.All e certificar-se de que a versão de patch mais recente foi implantada:To keep using the Microsoft.AspNetCore.All metapackage and ensure the latest patch version is deployed:

  • Em computadores de desenvolvimento e servidores de compilação: instale o SDK do .NET Core mais recente.On development machines and build servers: Install the latest .NET Core SDK.
  • Em servidores de implantação: instale o tempo de execução do .NET Core mais recente.On deployment servers: Install the latest .NET Core runtime. Seu aplicativo efetuará roll forward para a versão instalada mais recente em uma reinicialização do aplicativo.Your app will roll forward to the latest installed version on an application restart.