Partilhar via


O que há de novo no .NET Standard

O .NET Standard é uma especificação formal que define um conjunto versionado de APIs que devem estar disponíveis em implementações .NET que estejam em conformidade com essa versão do padrão. O .NET Standard destina-se a desenvolvedores de bibliotecas. Uma biblioteca destinada a uma versão .NET Standard pode ser usada em qualquer implementação .NET ou Xamarin que ofereça suporte a essa versão do padrão.

O .NET Standard está incluído no SDK do .NET. Ele também está incluído no Visual Studio se você selecionar a carga de trabalho do .NET.

O .NET Standard 2.1 é a última versão do .NET Standard que será lançada. Para obter mais informações, consulte .NET 5+ e .NET Standard.

Implementações .NET suportadas

O .NET Standard 2.1 é suportado pelas seguintes implementações .NET:

  • .NET Core 3.0 ou posterior (incluindo .NET 5 e posterior)
  • Mono 6.4 ou posterior
  • Xamarin.iOS 12.16 ou posterior
  • Xamarin.Android 10.0 ou posterior

O .NET Standard 2.0 é suportado pelas seguintes implementações .NET:

  • .NET Core 2.0 ou posterior (incluindo .NET 5 e posterior)
  • .NET Framework 4.6.1 ou posterior
  • Mono 5.4 ou posterior
  • Xamarin.iOS 10.14 ou posterior
  • Xamarin.Mac 3.8 ou posterior
  • Xamarin.Android 8.0 ou posterior
  • Plataforma Universal do Windows 10.0.16299 ou posterior

O que há de novo no .NET Standard 2.1

O .NET Standard 2.1 adiciona muitas APIs ao padrão. Algumas delas são novas APIs, e outras são APIs existentes que ajudam a convergir ainda mais as implementações do .NET. Para obter uma lista das APIs que foram adicionadas ao .NET Standard 2.1, consulte .NET Standard 2.1 vs 2.0.

Para obter mais informações, consulte a postagem do blog Anunciando o .NET Standard 2.1 .

O que há de novo no .NET Standard 2.0

O .NET Standard 2.0 inclui os seguintes novos recursos.

Um conjunto amplamente expandido de APIs

Através da versão 1.6, o .NET Standard incluía um subconjunto comparativamente pequeno de APIs. Entre os excluídos estavam muitas APIs que eram comumente usadas no .NET Framework ou no Xamarin. Isso complica o desenvolvimento, pois exige que os desenvolvedores encontrem substitutos adequados para APIs familiares quando desenvolvem aplicativos e bibliotecas destinados a várias implementações .NET. O .NET Standard 2.0 resolve essa limitação adicionando mais de 20.000 APIs do que as disponíveis no .NET Standard 1.6, a versão anterior do padrão. Para obter uma lista das APIs que foram adicionadas ao .NET Standard 2.0, consulte .NET Standard 2.0 vs 1.6.

Algumas das adições ao System namespace no .NET Standard 2.0 incluem:

  • Suporte para a AppDomain classe.
  • Melhor suporte para trabalhar com arrays de membros adicionais na Array classe.
  • Melhor suporte para trabalhar com atributos de membros adicionais na Attribute classe.
  • Melhor suporte de calendário e opções de formatação adicionais para DateTime valores.
  • Funcionalidade adicional Decimal de arredondamento.
  • Funcionalidade adicional na Environment classe.
  • Controle aprimorado sobre o coletor de lixo através da GC classe.
  • Suporte aprimorado para comparação, enumeração e normalização de String cadeia de caracteres na classe.
  • Suporte para ajustes de horário de verão e horários de transição nas TimeZoneInfo.AdjustmentRuleTimeZoneInfo.TransitionTime e aulas.
  • Funcionalidade significativamente melhorada na Type classe.
  • Melhor suporte para desserialização de objetos de exceção adicionando um construtor de exceção com SerializationInfo e StreamingContext parâmetros.

Suporte para bibliotecas do .NET Framework

Muitas bibliotecas destinam-se ao .NET Framework em vez do .NET Standard. No entanto, a maioria das chamadas nessas bibliotecas são para APIs incluídas no .NET Standard 2.0. A partir do .NET Standard 2.0, você pode acessar bibliotecas do .NET Framework a partir de uma biblioteca .NET Standard usando uma correção de compatibilidade. Esta camada de compatibilidade é transparente para os desenvolvedores; você não precisa fazer nada para aproveitar as bibliotecas do .NET Framework.

O único requisito é que as APIs chamadas pela biblioteca de classes do .NET Framework devem ser incluídas no .NET Standard 2.0.

Suporte para Visual Basic

Agora você pode desenvolver bibliotecas .NET Standard no Visual Basic. O Visual Studio 2019 e o Visual Studio 2017 versão 15.3 ou posterior com a carga de trabalho do .NET Core instalada incluem um modelo de Biblioteca de Classes Padrão do .NET. Para desenvolvedores do Visual Basic que usam outras ferramentas e ambientes de desenvolvimento, você pode usar o comando dotnet new para criar um projeto .NET Standard Library. Para obter mais informações, consulte o suporte de ferramentas para bibliotecas .NET Standard.

Suporte de ferramentas para bibliotecas .NET Standard

Com o lançamento do .NET Core 2.0 e do .NET Standard 2.0, o Visual Studio 2017 e a CLI do .NET incluem suporte a ferramentas para a criação de bibliotecas .NET Standard.

Se você instalar o Visual Studio com a carga de trabalho de desenvolvimento entre plataformas do .NET Core, poderá criar um projeto de biblioteca do .NET Standard 2.0 usando um modelo de projeto, como mostra a figura a seguir:

Add New .NET Standard library project

Se você estiver usando a CLI do .NET, o seguinte comando dotnet new criará um projeto de biblioteca de classes destinado ao .NET Standard 2.0:

dotnet new classlib

Consulte também