Pacote Microsoft.DotNet.PlatformAbstractions removido
Nenhuma nova versão do pacote NuGet Microsoft.DotNet.PlatformAbstractions será produzida.
Descrição das alterações
Anteriormente, novas versões da biblioteca Microsoft.DotNet.PlatformAbstractions eram produzidas, juntamente com novas versões do .NET Core. Daqui para frente, nenhuma nova funcionalidade será adicionada à biblioteca e nenhuma nova versão principal será lançada. No entanto, as versões existentes da biblioteca continuarão funcionando e serão atendidas.
A biblioteca Microsoft.DotNet.PlatformAbstractions se sobrepõe às APIs já estabelecidas nos namespaces System.*. Além disso, algumas APIs Microsoft.DotNet.PlatformAbstractions não foram projetadas com o mesmo nível de escrutínio e suporte de longo prazo que o restante das APIs do System.*. Por exemplo, Microsoft.DotNet.PlatformAbstractions usa a enumeração Platform
para descrever a plataforma atual do sistema operacional. Esse design de enumeração foi explicitamente rejeitado quando a API RuntimeInformation.IsOSPlatform(OSPlatform) foi projetada, para permitir novas plataformas e flexibilidade futura.
Os cenários habilitados pela biblioteca Microsoft.DotNet.PlatformAbstractions agora são possíveis sem ela. As versões existentes continuarão funcionando, mesmo no .NET 5 e posterior, e serão mantidas juntamente com as versões anteriores do .NET Core. No entanto, a nova funcionalidade não será adicionada à biblioteca. Em vez disso, novas funcionalidades serão adicionadas a outras bibliotecas e APIs.
Versão introduzida
5,0
Ação recomendada
Você pode continuar a usar versões mais antigas da biblioteca se elas atenderem aos seus requisitos.
Se as versões mais antigas não atenderem aos seus requisitos, substitua os usos das APIs
PlatformAbstractions
pelas substituições recomendadas.PlatformAbstractions
APISubstituição recomendada ApplicationEnvironment.ApplicationBasePath
AppContext.BaseDirectory HashCodeCombiner System.HashCode RuntimeEnvironment.GetRuntimeIdentifier()
RuntimeInformation.RuntimeIdentifier RuntimeEnvironment.OperatingSystemPlatform
RuntimeInformation.IsOSPlatform(OSPlatform) RuntimeEnvironment.RuntimeArchitecture
RuntimeInformation.ProcessArchitecture RuntimeEnvironment.OperatingSystem
RuntimeInformation.OSDescription RuntimeEnvironment.OperatingSystemVersion
RuntimeInformation.OSDescription e Environment.OSVersion Observação
A maioria dos casos de uso de
RuntimeEnvironment.OperatingSystem
eRuntimeEnvironment.OperatingSystemVersion
são para fins de exibição, por exemplo, exibição para um usuário, registro em log e telemetria. Não é recomendável tomar decisões em tempo de execução com base em uma versão do SO (sistema operacional). Environment.OSVersion agora retorna a versão correta para sistemas operacionais Windows e macOS. No entanto, para a maioria das distribuições do Unix, o que é considerado a "versão do SO" não é tão simples. Por exemplo, pode ser a versão do kernel do Linux ou pode ser a versão de distribuição. Para a maioria das plataformas Unix, Environment.OSVersion e RuntimeInformation.OSDescription retornam a versão retornada poruname
. Para obter as informações de nome e versão da distribuição Linux, a abordagem recomendada é ler o arquivo /etc/os-release.
APIs afetadas
Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath
- Microsoft.DotNet.PlatformAbstractions.HashCodeCombiner
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystem
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemPlatform
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.OperatingSystemVersion
Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.RuntimeArchitecture