A Microsoft publicou a plataforma aberta .NET 11.

A Microsoft apresentou o lançamento da plataforma aberta .NET 11, criada pela unificação dos produtos .NET Framework, .NET Core e Mono. Com o .NET 11, é possível criar aplicativos multiplataforma para navegadores, sistemas em nuvem, desktops, dispositivos IoT e plataformas móveis, utilizando bibliotecas unificadas e um processo de compilação comum, independentemente do tipo de aplicativo. As compilações do .NET SDK 11, .NET Runtime 11 e ASP.NET Core Runtime 11 estão disponíveis para Linux, macOS e Windows. O .NET Desktop Runtime 11 está disponível apenas para Windows. Os desenvolvimentos relacionados ao projeto são distribuídos sob a licença MIT.

A composição do .NET inclui o Runtime com o compilador JIT RyuJIT, especificações de API, bibliotecas WPF, Windows Forms, WinUI e Entity Framework, além da interface de linha de comando dotnet, bem como ferramentas para o desenvolvimento de microsserviços, bibliotecas, aplicativos de servidor, gráficos e de console. O stack para desenvolvimento de aplicações web ASP.NET Core 11.0, a camada ORM Entity Framework Core 11.0 (com drivers disponíveis, incluindo para SQLite e PostgreSQL), a biblioteca WPF 11 (Windows Presentation Foundation), o framework Windows Forms 11 para o desenvolvimento de GUI, a plataforma Aspire 11 para criação de aplicações Cloud Native, e o framework MAUI 11 para desenvolvimento de interfaces de usuário multiplataforma também são fornecidos separadamente, juntamente com as versões das linguagens C# 15 e F# 11. O suporte para .NET 11.0 e C# 15 está incluído no editor de código Visual Studio Code.
Na linguagem C# 15, foi adicionado a palavra-chave union para declarar um tipo cujo valor pode ser apenas um dos tipos variantes previamente listados. Uma variável do tipo union pode receber valores de qualquer um dos tipos permitidos, e ao tentar atribuir um valor de um tipo não especificado na declaração, o compilador emitirá um erro.

Características do novo lançamento:

  • public record class Cat(string Name);

    public record class Dog(string Name);
    public record class Bird(string Name);
    public union Pet(Cat, Dog, Bird);

    Para classes, foi proposto o modificador "closed", que permite criar hierarquias fechadas (closed hierarchy), nas quais a herança da classe base com o modificador closed é permitida apenas dentro do próprio assembly onde foi declarada, e durante a compilação é conhecido o conjunto completo de filhos diretos. Os tipos union e as hierarquias fechadas garantem que, na construção switch, todas as variantes possíveis sejam tratadas, permitindo evitar um ramo "default" e a variável "_".

    public record class Cat(string Name);

    A nova versão do C# também adiciona suporte para transições de expressões 'break' e 'continue' para rótulos definidos e expande as capacidades experimentais de isolamento em blocos de código unsafe que interagem diretamente com a memória (agora é possível usar unsafe para expressões individuais).

  • No F# 11, o consumo de memória pelo compilador foi reduzido e o número de operações de alocação de memória ao trabalhar com coleções FSharp.Core foi diminuído. Foi adicionada a capacidade de limitar o número de tarefas assíncronas em paralelo para evitar sobrecarga. Suporte preliminar para Runtime Async foi adicionado.
  • No SDK, a inclusão padrão é servidor MSBuild e a versão pré-compilada (NativeAOT) da ferramenta CLI dotnet.
    O tamanho dos instaladores do SDK para Linux e macOS foi reduzido através da deduplicação de assemblies.
  • Foi realizada uma otimização no compilador JIT, eliminando verificações redundantes de limites e ramificações, melhorando a desvirtualização e expandindo a redução de operações a constantes. No compilador AOT, um manipulador de chamadas comum foi implementado, permitindo reduzir o volume de código e aumentar a capacidade de processamento em chamadas intensivas de interfaces. Para Linux e macOS, foi implementada a preservação da pilha de rastreamento e informações sobre módulos em caso de falhas.
  • Um mecanismo experimental Runtime Async foi adicionado para substituir o código de manipulação de operações assíncronas gerado pelo compilador por uma implementação que controla a pausa e a retomada de operações assíncronas em nível de runtime.
  • Um modelo foi adicionado ao SDK servidor MCP para integração com ferramentas e serviços de IA. Para aplicações que utilizam serviços de IA, um conjunto de abstrações Microsoft.Extensions.AI (MEAI) foi adicionado. Com base nessas abstrações, foi formado
    o Microsoft Agent Framework (MAF), que pode ser utilizado para criar agentes de IA.
  • Na API Process, foram ampliadas as capacidades de execução de processos, capturando suas saídas e códigos de término, além de controle sobre descritores herdados.
  • Na API System.IO.Compression, o suporte para o algoritmo de compressão Zstandard foi adicionado.
  • Novos adaptadores de fluxo ReadOnlyMemoryStream, WritableMemoryStream, ReadOnlySequenceStream e StringStream foram adicionados.
  • Uma nova ferramenta dotnetup foi criada para instalação e atualização do SDK e runtime.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster