.NET Core 3.0 - O Suporte a Windows Forms e WPF
A seguir um resumo compilado sobre algumas novidades relacionadas ao .NET Core 3.0 que deve ser lançada até o final de Abril de 2019 junto com o VS 2019. |
Um das grandes novidades no .NET Core 3.0 é o suporte para aplicativos Windows Desktop(somente no Windows).
Cursos na Udemy |
|
Docker Essencial para Plataforma .NET | ASP .NET Core MVC - Criando um site do zero |
Sim é isso mesmo, usando um componente do SDK do .NET Core 3.0 chamado Windows Desktop, você pode portar seus aplicativos do Windows Forms e WPF (Windows Presentation Foundation) para o .NET Core.
Obs: O componente Windows Desktop só é compatível e só é incluído no Windows.
Esses frameworks também oferecem suporte ao uso de controles modernos e no estilo Fluent da biblioteca XAML da interface do usuário do Windows (WinUI) por meio de ilhas XAML.
Assim, o componente Windows Desktop faz parte do SDK do .NET Core 3.0 do Windows sendo possível criar um novo aplicativo WPF ou Windows Forms com os seguintes comandos dotnet :
dotnet new wpf
dotnet new winforms
O Visual Studio 2019 Preview 2 adiciona novos modelos de Projeto ao Windows Forms e WPF no .NET Core 3.0, mas ainda não há suporte para designers. Além disso, é possível abrir, iniciar e depurar esses projetos no Visual Studio 2019.
O Visual Studio 2017 15.9 adiciona a capacidade de habilitar versões prévias do .NET Core, mas você precisa ativar essa funcionalidade e esse não é um cenário compatível.
Os novos projetos são os mesmos que os projetos existentes do .NET Core, com algumas adições. Veja aqui a comparação entre o projeto básico de console do .NET Core e um projeto básico do Windows Forms e WPF.
Em um projeto de console do .NET Core, o projeto usa o SDK Microsoft.NET.Sdk e declara uma dependência no .NET Core 3.0 por meio do framework de destino netcoreapp3.0. Para criar um aplicativo desktop do Windows, use o SDK Microsoft.NET.Sdk.WindowsDesktop e escolha qual framerwork de interface do usuário usar:
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
+ <UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
|
Para escolher o Windows Forms ao invés da WPF, defina UseWindowsForms em vez de UseWPF:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
- <UseWPF>true</UseWPF>
+ <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
</Project>
|
As diretivas UseWPF e UseWindowsForms podem ser definidas como true se o aplicativo usar ambas as estruturas; por exemplo, quando uma caixa de diálogo do Windows Forms hospeda um controle da WPF.
O MSIX é um novo formato de pacote do aplicativo do Windows. Ele pode ser usado para implantar aplicativos desktop do .NET Core 3.0 no Windows 10.
O Projeto de Empacotamento de Aplicativos do Windows, disponível no Visual Studio 2019 Preview 2, permite criar pacotes MSIX com aplicativos .NET Core autosuficientes.
Obs: O arquivo de projeto do .NET Core precisa especificar os runtimes compatíveis na propriedade <RuntimeIdentifiers>:
<RuntimeIdentifiers>win-x86;win-x64</RuntimeIdentifiers>
Voltarei ao assunto quando as versões finais forem liberadas.
Se desejar você pode baixar as versões preview do .NET Core 3.0 e do Visual Studio 2019 e ir testando as novas funcionalidades. Neste estágio das versões pouca coisa deve mudar até a liberação final.
Boa semana e um bom estudo...
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET