No mês passado aconteceu o MicrosoftConnect(); 2018, com transmissões online cobrindo novidades sobre tecnologias como .NET, Visual Studio e Microsoft Azure. As gravações podem ser assistidas gratuitamente a partir do seguinte link:
Dentre os diversos anúncios, merecem destaque:
- O Preview 1 do .NET Core 3
- A disponibilidade para testes do Preview 1 do Visual Studio 2019
- O lançamento oficial do .NET Core 2.2, ASP.NET Core 2.2 e Entity Framework Core 2.2
- As tecnologias Windows Forms e WPF (Windows Presentation Foundation) se tornaram open source
- A possibilidade de utilizar o .NET Core 3 para a implementação de projetos Windows Forms e WPF
Neste artigo apresento os primeiros testes que realizei com o .NET Core 3 e o Visual Studio 2019. Pretendo seguir com outros artigos, cobrindo, em detalhes, as principais novidades esperadas para a plataforma .NET e o Visual Studio nos próximos meses.
Instalando o Preview 1 do .NET Core 3
A instalação do Preview 1 do .NET Core 3 pode ser obtida através do seguinte link:
Ao concluir tal processo com sucesso, o comando dotnet –version retornará que o .NET Core 3 foi instalado:
Instalando o Preview 1 do Visual Studio 2019
Para instalar o Preview 1 do Visual Studio 2019, acesse o link abaixo:
Como já acontecia em versões anteriores, será necessário definir quais workloads (grupos de tecnologias) deverão ser instalados com o VS 2019:
E eventualmente, escolher entre os pacotes de idiomas disponíveis. Para os testes que realizei, mantive apenas o uso do inglês:
Confirmados estes ajustes, teremos o início dos procedimentos de instalação:
E, ao final deste processo, aparecerá o Preview 1 do Visual Studio 2019 como opção de IDE:
Algumas mudanças na IDE do Visual Studio 2019
Ao acessar pela primeira vez o Visual Studio 2019, iremos nos deparar com uma nova interface para a abertura ou criação de projetos:
Selecionando a opção Create a new project:
Aparecerão os templates disponíveis:
A escolha do template ASP.NET Core Web Application fará com que apareça então o seguinte formulário:
Confirmando estas definições, o VS 2019 trará então a tela para seleção do template (já exibindo a opção para uso do ASP.NET Core 3.0):
O projeto aparecerá finalmente carregado na IDE para a realização de tarefas, como codificação e debugging:
Novos templates com o .NET Core 3: Windows Forms e WPF
Ao executar o comando dotnet new, serão apresentados os templates disponíveis para desenvolvimento com o .NET Core 3. Em vermelho, temos destacadas duas novas opções:
- WPF Application
- Windows Forms Application
A instrução dotnet new winforms -n TesteWinForms criará um projeto Windows Forms chamado TesteWinForms, que também poderá ser executado via dotnet run:
Na imagem a seguir, temos esta aplicação em execução:
Em termos de configuração do projeto, na listagem seguinte estão as definições correspondentes à aplicação TesteWinForms (arquivo TesteWinForms.csproj), já indicando, inclusive, o uso do .NET Core 3 e do SDK Microsoft.NET.Sdk.WindowsDesktop:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
Também podemos gerar uma aplicação WPF por meio do comando dotnet new wpf -n TesteWPF e ainda iniciar tal projeto com a instrução dotnet run:
A próxima imagem traz o projeto TesteWPF em execução:
Analisando o arquivo csproj de TesteWPF, se nota no mesmo a utilização do .NET Core 3 e também do SDK Microsoft.NET.Sdk.WindowsDesktop:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
E quanto ao suporte do Visual Studio 2019 a estes projetos que foram criados? Até o momento da publicação deste artigo (início de Dezembro/2018), ainda não havia a possibilidade de utilizar o designer da IDE para a implementação de interfaces gráficas em projetos Windows Forms e WPF baseados no .NET Core 3 (a própria Microsoft já enfatizou que isso deverá ser solucionado nos próximos meses).