O .NET 11 Preview 7 chega com novidades em C#, ASP.NET Core, EF Core e Windows Forms
Sétima prévia da próxima versão do .NET traz rótulos em break/continue no C#, componentes de cache no Blazor e um novo pipeline de renderização para Windows Forms.

A Microsoft liberou o .NET 11 Preview 7, sétima prévia do ciclo que antecede a versão estável prevista para novembro. A atualização mexe em várias frentes ao mesmo tempo: linguagem C#↳C#68 conteúdosNovidades do C# 8.0: Default Interface MembersDev (Back & Front) · jun 2019C# 8.0 – Conheça suas novas funcionalidadesDev (Back & Front) · mai 2019Novidades do C# 8.0: Switch ExpressionsDev (Back & Front) · mar 2019Ver tudo em Dev (Back & Front) →, ASP.NET Core, .NET MAUI, Entity Framework Core, Windows Forms e F#. Para quem desenvolve sobre a stack Microsoft no Brasil, é a chance de testar recursos antes que virem padrão em produção.
C#: break e continue agora podem nomear o laço
Uma das mudanças mais concretas da prévia está no C#: os comandos break e continue passam a aceitar o nome de um laço ou switch externo, permitindo sair ou continuar uma estrutura de fora a partir de outra interna, sem gambiarra de flag booleana ou goto.
string? foundValue = null;
outer: for (int x = 0; x < xMax; x++)
{
for (int y = 0; y < yMax; y++)
{
if (GetValue(x, y) is { } value && value == target)
{
foundValue = value;
break outer;
}
}
}É um padrão que quem escreve algoritmos com laços aninhados vai reconhecer na hora, e que outras linguagens (como Java, com labels, ou Go) já oferecem há tempos.
A prévia também avança nos union types, ainda em preview: agora usam uma abordagem "try-both", que testa um padrão primeiro contra o próprio union e depois contra o valor contido. Em paralelo, a checagem de exaustividade de switch expression passa a entender parâmetros genéricos restritos a um tipo fechado (closed), de modo que o compilador para de emitir aviso quando todos os casos derivados já foram tratados:
public closed record class Shape;
public record class Circle(double Radius) : Shape;
public record class Square(double Side) : Shape;
static double Area<T>(T shape) where T : Shape => shape switch
{
Circle(var r) => Math.PI * r * r,
Square(var s) => s * s
};Outros ajustes refinam as regras de Unsafe Evolution e adicionam verificação de nulo em helpers de inline array, fazendo com que formar uma referência a partir de um buffer nulo lance exceção de forma determinística.
ASP.NET Core: o foco é o Blazor
O ASP.NET Core recebe o maior volume de novidades, boa parte concentrada no Blazor. Circuitos do modo Interactive Server agora conseguem se pausar quando a aba do navegador está oculta, liberando recursos do servidor até o usuário voltar. Chega também o componente CacheView, que faz cache da saída renderizada de uma subárvore no lado servidor e reproduz o HTML armazenado em caso de acerto de cache, reduzindo uso de CPU e memória.
Mais cinco analisadores para Blazor passam a vir habilitados por padrão, sinalizando erros comuns, e o QuickGrid ganha rolagem programática. A localização de mensagens de validação passa a ser embutida e ativa assim que um string localizer é registrado, enquanto os atributos ValidatableType e SkipValidation deixam o status de preview.
No lado de rede e segurança: o cliente SignalR para .NET pode renovar autenticação após um redirecionamento de negotiate, endpoints que retornam server-sent events passam a ser descritos em OpenAPI 3.2, e aplicações podem ler o token de channel-binding do TLS para se defender de ataques de relay.
Vale a atenção para uma reversão parcial da Preview 6: a proteção automática contra cross-origin agora valida apenas endpoints que optam explicitamente por ela (opt-in), voltando ao comportamento do .NET 10. Na prática, isso evita quebrar aplicações existentes que já estavam funcionando, algo relevante para quem testa previews em pipelines de CI.
MAUI, EF Core e ferramentas
O .NET MAUI ganha autenticação com passkeys multiplataforma, XAML Incremental Hot Reload e templates de rota no Shell.
No Entity Framework Core, int.Parse e métodos relacionados passam a ser traduzidos para um CAST no SQL↳SQL64 conteúdosSQL Server – Como evitar SQL Injection?Data · mai 2019Azure SQL DB Managed InstanceData · abr 2019SQL Server – Como evitar SQL Injection? Pare de utilizar Query Dinâmica como EXEC(@Query)Data · abr 2019Ver tudo em Data → Server, vários padrões de GroupBy são reescritos como joins únicos para gerar consultas mais limpas, e o tipo Half de 16 bits agora é suportado no SQLite. O provider do Azure↳Azure76 conteúdosDeploy de Azure Stream Analytics job com CI/CD usando Azure PipelinesDevSecOps · mai 2019Azure – Como criar uma base de dados SQL no Microsoft Azure pronta para ser utilizadaData · abr 2019Azure Static Web Apps com Vue.js e Visual Studio CodeDevSecOps · out 2023Ver tudo em DevSecOps → Cosmos DB foi modernizado para usar System.Text.Json, e o Package Manager Console ganhou a opção -NoBuild para adicionar e aplicar migrations sem recompilar o projeto, um ganho de tempo em ciclos de desenvolvimento.
Windows Forms segue vivo
Apesar da idade, o Windows Forms continua recebendo investimento, o que interessa a muita casa de software brasileira que mantém sistemas desktop corporativos legados. A prévia introduz um pipeline de renderização moderno via VisualStylesMode (opt-in), uma forma de reagir a configurações visuais do sistema, revelação diferida de formulários para evitar o flash sem estilo no startup, e um escopo SuspendPainting que reduz o flicker durante atualizações em massa da interface.
O F#, por fim, recebe correções menores de compilador, incluindo suporte a bindings de computation expression dentro de um let simples e resolução correta de atributos em módulos recursivos.
O que isso muda para o dev brasileiro
Como toda prévia, nada aqui é definitivo até a versão estável de novembro, e recursos marcados como preview (union types, por exemplo) ainda podem mudar de forma. Mas o Preview 7 dá o tom do que a versão final deve entregar: melhorias incrementais de produtividade em C#, otimizações de servidor no Blazor e continuidade do suporte a Windows Forms.
Para equipes que rodam produção sobre .NET, o momento de testar é agora, especialmente a reversão da proteção cross-origin, que pode afetar quem já vinha experimentando a Preview 6. As notas de lançamento completas estão disponíveis no repositório dotnet/core no GitHub.
Fonte: InfoQ
Este artigo foi escrito por Redação iMasters, um agente de inteligência artificial com revisão editorial humana.









Comentários
Ninguém comentou ainda. Começa a conversa?