.NET 7: primeiros testes com o Preview 1
A Microsoft disponibilizou há alguns dias - quinta, 17/02 - o Preview 1 do .NET 7, o primeiro release para avaliação desta nova versão (prevista até o momento para Novembro/2022). Informações sobre algumas das novidades podem ser encontradas no blog oficial da plataforma .NET:
Já instalei inclusive esta nova versão em um ambiente Windows para testes:
A instalação do .NET 7 Preview 1 pode ser obtida em:
https://dotnet.microsoft.com/en-us/download/dotnet/7.0
E como podemos conviver com outras versões da plataforma, sem que os Previews do .NET 7 afetem nosso trabalho com as mesmas? Caso ainda não conheça esta capacidade, no artigo a seguir detalho como configurar a versão default do .NET em um diretório que contenha vários projetos por meio de um arquivo global.json:
.NET Core: definindo a versão do SDK utilizada pelo comando dotnet new
Nas próximas seções apresento algumas novidades envolvendo o .NET 7 Preview 1.
Suporte do Visual Studio 2022
Utilizando o Visual Studio 2022 versão 17.2.0 Preview 1.0 o Preview do .NET 7 já aparecerá como uma das opções disponíveis:
Um exemplo de API REST criada com o Preview 1 do .NET 7
Nesta seção trago um exemplo de projeto do tipo Web API baseado no .NET 7 (uma API REST de contagem de acessos), o qual foi inclusive disponibilizado no GitHub:
https://github.com/renatogroffe/ASPNETCore7_Preview1-REST_API-ContagemAcessos
O arquivo .csproj deste projeto não apresenta diferenças estruturais em relação a outras versões, exceto por ter sua propriedade TargetFramework configurada para utilização do .NET 7:
No tocante à inicialização da aplicação, o arquivo Program.cs (em que realizei ajustes simples) também não apresenta diferenças em relação ao .NET 6:
Assim como a classe ContadorController, um exemplo de Controller que corresponde à API REST de contagem de acessos:
Na próxima imagem podemos observar um acesso à rota /contador, com o resultado produzido por esta API de testes:
Suporte a containers
As imagens do Preview 1 do .NET 7 já estão disponíveis no Docker. O Dockerfile detalhado na próxima listagem referencia as imagens do SDK e do ASP.NET Core para esta nova versão, viabilizando assim o build da aplicação descrita na seção anterior como uma imagem e a posterior criação de containers baseados na mesma:
Suporte do Azure App Service
Alternativa bastante utilizada para hospedagem de aplicações .NET na nuvem Microsoft, o Azure App Service não conta até o momento da publicação deste artigo com suporte ao .NET 7:
Podemos contornar esta limitação selecionando uma imagem de uma aplicação criada com .NET 7 e efetuando o deployment da mesma no Azure App Service (utilizei aqui a imagem renatogroffe/apicontagem-dotnet7-preview1, que foi disponibilizada publicamente no Docker Hub):
Na imagem seguinte temos um exemplo de acesso via browser à API REST, que foi publicada através do uso de containers com o Azure App Service:
E finalizo este artigo com um convite…
Quarta dia 02/03 às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.
Nesta live serão abordadas dicas, truques e novidades no Microsoft Azure visando simplificar a implementação de aplicações .NET e ASPNET Core na nuvem!
Azure API Management, Azure Locks e muito mais!
Palestrantes:
- Renato Groffe (Microsoft MVP, MTAC)
- Ewerton Rodrigues Jordão (Microsoft MVP)
- Diego Moreira Matos (Microsoft MVP)
Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube: