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 9 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. 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.
Importante
Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.
Para a versão atual, consulte a versão .NET 9 deste artigo.
Observação
O metapacote Microsoft.AspNetCore.All
não é usado no ASP.NET Core 3.0 e posterior. Saiba mais neste tópico do GitHub.
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. Veja Migração do Microsoft.AspNetCore.All para Microsoft.AspNetCore.App neste artigo.
Este recurso exige o ASP.NET Core 2.x direcionado ao .NET Core 2.x.
Microsoft.AspNetCore.All é um metapacote que faz referência a uma estrutura compartilhada. Uma estrutura compartilhada é um conjunto de assemblies (arquivos .dll) que não estão em pastas do aplicativo. A estrutura compartilhada deve ser instalada no computador para executar o aplicativo. Saiba mais em A estrutura compartilhada.
A estrutura compartilhada a que Microsoft.AspNetCore.All
se refere inclui:
- Todos os pacotes com suporte da equipe do ASP.NET Core.
- Todos os pacotes com suporte pelo Entity Framework Core.
- Dependências internas e de terceiros usadas por ASP.NET Core e pelo 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
. Os modelos de projeto padrão direcionados para ASP.NET Core 2.0 usam este pacote.
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.
O seguinte arquivo .csproj
faz referência aos metapacote Microsoft.AspNetCore.All
para o 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ícita
No ASP.NET Core 2.1 ou posterior, você pode especificar a referência de pacote Microsoft.AspNetCore.All
sem uma versão. Quando a versão não for especificada, uma versão implícita será especificada pelo 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. 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).
A versão implícita é definida como major.minor.0
para aplicativos portátil. O mecanismo de roll forward da estrutura compartilhada executará 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, no teste e na produção, certifique-se de que a mesma versão da estrutura compartilhada seja instalada em todos os ambientes. Para aplicativos autossuficientes, o número de versão implícita é definido como o major.minor.patch
da estrutura compartilhada agrupada no SDK instalado.
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. Por exemplo, suponha que a versão "2.1.1" foi especificada, mas "2.1.3" está instalada. Nesse caso, o aplicativo usará "2.1.3". Embora não seja recomendado, você pode desabilitar o roll forward (patch e/ou secundária). 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.
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
. 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:
Aviso NU1604: a dependência do 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 consistentes de restauração.
Esse é um problema conhecido com o SDK do .NET Core 2.1 e será corrigido no SDK do .NET Core 2.2.
Migração do Microsoft.AspNetCore.All para Microsoft.AspNetCore.App
Os pacotes a seguir 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 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.
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. Por exemplo:
StackExchange.Redis
como uma dependência deMicrosoft.Extensions.Caching.Redis
Microsoft.ApplicationInsights
como uma dependência deMicrosoft.AspNetCore.ApplicationInsights.HostingStartup
Atualizar o ASP.NET Core 2.1
É recomendável migrar para o metapacote Microsoft.AspNetCore.App
para a versão 2.1 e posteriores. Para continuar usando o metapacote Microsoft.AspNetCore.All
e certificar-se de que a versão de patch mais recente foi implantada:
- Em computadores de desenvolvimento e em servidores de build: instale o SDK do .NET Core mais recente.
- Nos servidores de implantação: instale o runtime do .NET Core mais recente. Seu aplicativo efetuará roll forward para a versão instalada mais recente em uma reinicialização do aplicativo.