Apresentando o .NET 5 Preview 1

No final do ano passado, lançamos o .NET Core 3.0 e 3.1. Nessas versões, foram adicionados os modelos de aplicativos de área de trabalho Windows Forms (WinForms) e WPF, ASP.NET Blazor para criação de aplicativos de página única e gRPC para mensagens de plataforma cruzada com base em contrato. Também adicionamos modelos para criação de serviços, geração legal de código de cliente para comunicação com gRPC, serviços de API REST e muito mais. Estamos satisfeitos que o .NET Core 3 tenha se tornado a versão mais aceita do .NET e, no ano passado, temos mais um milhão de usuários.

Também trabalhamos nessas versões para concluir a migração de modelos de aplicativos do .NET Framework. No .NET Core 3, migramos todos os modelos de aplicativos mais usados ​​e introduzimos novas infraestruturas de plataforma cruzada em vez daquelas que não foram portadas.

Em antecipação à próxima versão principal do .NET 5, continuaremos a integrar o .NET em uma única plataforma, incluindo nosso modelo de aplicativo móvel .NET (Xamarin) no .NET 5. O .NET 5 incluirá o ASP.NET Core, o Entity Framework Core, o WinForms, WPF, Xamarin e ML.NET. Pela primeira vez, toda a plataforma usará uma BCL (biblioteca de classes base) unificada para todos os modelos de aplicativos. A presença da versão 5, superior à do .NET Core e do .NET Framework, também deixa claro que o .NET 5 é o futuro do .NET, uma única plataforma unificada para criar qualquer tipo de aplicativo.

Já dissemos isso muitas vezes, mas vamos repetir novamente; O .NET Core e o .NET 5 são .NET, com os quais você deve criar todos os seus novos aplicativos. O .NET Framework será suportado desde que o próprio Windows seja suportado. Continuaremos fornecendo segurança e corrigindo bugs, além de atualizar as APIs de rede e criptografia. Ele permanecerá seguro e suportado para executar seus aplicativos mais antigos no .NET Framework.



Instale o .NET 5.0 Preview 1


Hoje, estamos lançando o primeiro Preview .NET 5, cuja versão completa está prevista para o final deste ano em novembro.


Leia as atualizações do ASP.NET Core no .NET 5 Preview 1 para aprender sobre a versão atual do ASP.NET Core.

A visualização 1 inclui suporte para o Windows ARM64 pela primeira vez. A versão de hoje também inclui o .NET Core em tempo de execução. Esperamos que o SDK (núcleo do ASP.NET, mas não o WPF ou o Windows Forms) seja adicionado na Visualização 2. As visualizações posteriores incluirão o WPF e o Windows Forms. O suporte ao Windows ARM64 também será portado para o .NET Core 3.1. Compartilharemos mais detalhes sobre isso em um post sobre a Visualização 2.

Atualizando Projetos Existentes


Você pode atualizar os projetos existentes, atualizando a plataforma de destino da seguinte maneira:

<TargetFramework>netcoreapp5.0</TargetFramework>

Principais destinos .NET 5


  • Experiência unificada do .NET SDK:
    • BCL ( ) .NET 5. Xamarin Mono BCL, .NET Core BCL, .
    • (Xamarin) .NET 5. , .NET SDK mobile. , «dotnet new XamarinForms» .
  • , : « », , , Window Desktop, Microsoft Duo (Android) iOS, , .
  • Aplicativos da Web que suportam várias plataformas: um projeto Blazor que suporta um aplicativo que pode ser executado em navegadores, dispositivos móveis e como um aplicativo de desktop nativo (por exemplo, Windows 10x).
  • Aplicativos em nuvem nativos: microsserviços de alto desempenho com um único arquivo (.exe) <50 MB e suporte para a criação de vários projetos (APIs, interfaces da web, contêineres) localmente e na nuvem.
  • Melhorias contínuas, como: aceleração de algoritmos em BCL, melhorias no suporte a contêineres em tempo de execução, suporte a HTTP3.

A visualização 1 ainda não contém os resultados de todas essas metas, mas continuaremos a anunciar mais recursos nas visualizações futuras.

Melhorias na visualização 1


Os seguintes aprimoramentos na visualização 1:

Melhorias no desempenho da expressão regular


Investimos muito no mecanismo Regex. Em muitas das expressões que testamos, essas melhorias geralmente levam a uma produtividade 6 a 6 vezes maior e, em alguns casos, muito mais. Em breve teremos um post no qual essas melhorias serão descritas em mais detalhes.

Melhorando a qualidade do código no RyuJIT


Cada release inclui um conjunto de aprimoramentos de desempenho para o código que o JIT gera. Chamamos esse tipo de aprimoramento de "CQ" ou qualidade de código. Na maioria dos casos, esses aprimoramentos também se aplicam ao código criado para imagens prontas para execução.


event pipe


Adicionamos informações sobre o carregamento da montagem no canal de eventos. Esse aprimoramento é o início da disponibilidade de recursos de diagnóstico semelhantes que fazem parte do .NET Framework com o  Fusion Log Viewer . Agora você pode usar o  dotnet-trace  para coletar essas informações usando o seguinte comando:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

O fluxo de trabalho é descrito na seção Trace Assembly Loading with Event Pipe . Você pode ver informações de carregamento de montagem para um aplicativo de teste simples.



API de criação de perfil de eventos (canal de eventos)


O Event Pipe é um novo subsistema e API que adicionamos ao .NET Core 2.2 para possibilitar a execução de diagnósticos de desempenho e outros em qualquer sistema operacional. No .NET 5.0, o Event Pipe foi expandido para que os criadores de perfil possam registrar eventos do Event Pipe. Esse cenário é importante para as ferramentas de criação de perfil que usavam o ETW anteriormente para monitorar o comportamento e o desempenho do aplicativo.

Consolidação de repositório do GitHub


Como parte da versão .NET 5,  reduzimos o número de repositórios no GitHub que foram usados ​​para criar e empacotar o .NET. Os limites do repositório têm um impacto significativo em muitos aspectos de um projeto, incluindo montagem e gerenciamento de problemas. Com o .NET Core 1.0, tínhamos mais de 100 repositórios no ASP.NET, EF e .NET Core. Agora tudo mudou. Também migramos quase todos os repositórios para a dotnet org.

Confira os novos repositórios consolidados:


All Articles