Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.HostingStartupMicrosoft.AspNetCore.AzureAppServices.HostingStartupMicrosoft.AspNetCore.AzureAppServicesIntegrationMicrosoft.AspNetCore.DataProtection.AzureKeyVaultMicrosoft.AspNetCore.DataProtection.AzureStorageMicrosoft.AspNetCore.Server.Kestrel.Transport.LibuvMicrosoft.AspNetCore.SignalR.RedisMicrosoft.Data.SqliteMicrosoft.Data.Sqlite.CoreMicrosoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.Sqlite.CoreMicrosoft.Extensions.Caching.RedisMicrosoft.Extensions.Configuration.AzureKeyVaultMicrosoft.Extensions.Logging.AzureAppServicesMicrosoft.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.Rediscomo dependência deMicrosoft.Extensions.Caching.Redis -
Microsoft.ApplicationInsightscomo dependência deMicrosoft.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.