Partilhar via


Criar um projeto de biblioteca de classes

Para permitir testes unitários dos seus ViewModels e serviços, crie um projeto de biblioteca de classes separado. Necessitas deste projeto porque os projetos de testes unitários do WinUI 3 não conseguem referenciar diretamente os projetos de aplicações do WinUI.

Noções básicas sobre o modelo de biblioteca de classes WinUI

O modelo de projeto WinUI Class Library cria uma biblioteca de classes .NET geridas (DLL) especificamente projetada para uso com aplicações de desktop WinUI. Este modelo faz parte do Windows App SDK e oferece capacidades importantes que uma biblioteca de classes .NET padrão não inclui.

Principais diferenças em relação a uma Biblioteca de Classes .NET

O modelo da Biblioteca de Classes WinUI difere de uma Biblioteca de Classes .NET padrão em vários aspetos importantes:

  • targeting específico do Windows: Aponta para uma framework específica do Windows (como net8.0-windows10.0.19041.0) em vez da framework .NET multiplataforma, dando acesso às APIs do Windows.
  • Integração do Windows App SDK: Inclui referências aos pacotes NuGet Microsoft.WindowsAppSDK e Microsoft.Windows.SDK.BuildTools, proporcionando acesso ao WinUI e às APIs do Windows App SDK.
  • Suporte WinUI ativado: O projeto inclui <UseWinUI>true</UseWinUI> na sua configuração, permitindo tarefas de construção específicas do WinUI e compilação XAML.
  • Identificadores de runtime do Windows: Está configurado para os identificadores de runtime específicos do Windows (win-x86, win-x64, win-arm64).

Por que usar uma biblioteca de classes WinUI?

Use o modelo WinUI Class Library em vez de uma Class Library .NET normal quando a sua biblioteca precisar de:

  • Reference WinUI types and controls: O modelo da Biblioteca de Classes WinUI permite-lhe usar tipos do namespace Microsoft.UI.Xaml e outras APIs Windows App SDK no código da sua biblioteca.
  • Incluir recursos XAML: se sua biblioteca contiver UserControls, controles personalizados ou outros recursos XAML, você precisará do modelo Biblioteca de Classes WinUI para compilar e empacotar corretamente esses recursos.
  • Integrar com aplicações WinUI: O modelo está configurado para funcionar perfeitamente com aplicações de desktop WinUI, garantindo compatibilidade com o modelo de execução e implementação Windows App SDK.
  • Suporte à compilação de marcação XAML: o modelo inclui as tarefas de compilação necessárias para compilar arquivos XAML na biblioteca.

Quando usar uma Biblioteca de Classes .NET normal

Use um projeto de Biblioteca de Classes .NET padrão quando a sua biblioteca:

  • Contém apenas código .NET puro (ViewModels, modelos, serviços, utilidades)
  • Não faz referência a nenhum tipo de WinUI ou Windows App SDK
  • Não inclui nenhum arquivo XAML ou código relacionado à interface do usuário
  • Precisa ser compartilhado entre diferentes tipos de aplicativos (não apenas aplicativos WinUI)
  • Tem como alvo múltiplas plataformas (por exemplo, .NET MAUI ou ASP.NET Core) ou sistemas operativos (por exemplo, Linux ou macOS)

Para um tutorial sobre como adicionar uma Biblioteca de Classes .NET à sua solução, veja Extend a aplicação de consola em C# e depure no Visual Studio.

Para este tutorial, use o modelo da Biblioteca de Classes WinUI porque permite referenciar tipos WinUI se necessário no futuro, e foi especificamente concebido para integrar aplicações WinUI. Embora os nossos ViewModels e serviços atualmente não exijam tipos WinUI, usar este modelo proporciona flexibilidade e garante uma integração adequada com o ambiente do Windows App SDK.

Criar o projeto WinUINotes.Bus

Crie um novo projeto de Biblioteca de Classes WinUI chamado WinUINotes.Bus para manter os seus ViewModels, modelos e serviços na mesma solução que a sua aplicação WinUI.

  1. Em Visual Studio, clique com o botão direito na solução em Solution Explorer.

  2. Seleciona Adicionar>Novo Projeto....

  3. Escolha o modelo Biblioteca de Classes WinUI e selecione Avançar.

    Observação

    Certifique-se de selecionar WinUI Class Library, não apenas Class Library. O modelo da Biblioteca de Classes WinUI inclui referências ao Windows App SDK e ao framework WinUI.

  4. Nomeie o project WinUINotes.Bus e selecione Create.

  5. Exclua o arquivo padrão Class1.cs .

Adicionar referências de projeto

As referências do projeto permitem que o seu projeto de aplicação WinUI utilize os ViewModels e serviços definidos no projeto da biblioteca de classes.

  1. Clique com o botão direito no WinUINotes project e selecione Add>Project Reference... .
  2. Verifica o WinUINotes.Bus project e seleciona OK.

O project Bus contém os teus ViewModels, modelos e serviços, para que possas testá-los independentemente da camada da interface.

Observação

O termo "Bus" indica um projecto que atua como camada de comunicação ou intermediário. Ele contém a lógica de apresentação (ViewModels), lógica de negócios (modelos) e serviços que você pode compartilhar e testar independentemente da interface do usuário.