Compartilhar via


Criar um projeto de biblioteca de classes

Para habilitar o teste de unidade de seus ViewModels e serviços, crie um projeto de biblioteca de classes separado. Você precisa desse projeto porque os projetos de teste de unidade do WinUI não podem referenciar diretamente projetos de aplicativo WinUI.

Noções básicas sobre o modelo da Biblioteca de Classes do WinUI

O modelo de projeto da Biblioteca de Classes do WinUI cria uma DLL (biblioteca de classes gerenciada) do .NET especificamente projetada para uso com aplicativos da área de trabalho WinUI 3. Esse modelo faz parte do SDK do Aplicativo do Windows e fornece recursos importantes que uma biblioteca de classes .NET padrão não inclui.

Principais diferenças de uma biblioteca de classes do .NET

O modelo da Biblioteca de Classes WinUI difere de uma Biblioteca de Classes .NET padrão de várias maneiras importantes:

  • Direcionamento específico do Windows: ele tem como destino uma estrutura específica do Windows (como net8.0-windows10.0.19041.0) em vez da estrutura do .NET multiplataforma, dando acesso às APIs do Windows.
  • Integração do SDK de Apps do Windows: ele inclui referências aos pacotes Microsoft.WindowsAppSDK e Microsoft.Windows.SDK.BuildTools do NuGet, fornecendo acesso às APIs do WinUI 3 e do SDK de Apps do Windows.
  • Suporte do WinUI habilitado: o projeto inclui <UseWinUI>true</UseWinUI> em sua configuração, habilitando tarefas de build específicas do WinUI e compilação XAML.
  • Identificadores de runtime do Windows: ele está configurado para identificadores de runtime específicos do Windows (win-x86, win-x64, win-arm64).

Por que usar uma biblioteca de classes WinUI?

Use o modelo Biblioteca de Classes WinUI em vez de uma Biblioteca de Classes .NET regular quando sua biblioteca precisar:

  • Referenciar os tipos e controles do WinUI 3: o modelo da Biblioteca de Classes do WinUI permite que você use tipos do Microsoft.UI.Xaml namespace e de outras APIs do SDK do Aplicativo Windows em seu código de biblioteca.
  • Incluir recursos XAML: se sua biblioteca contiver UserControls, controles personalizados ou outros recursos XAML, você precisará do modelo da Biblioteca de Classes do WinUI para compilar e empacotar corretamente esses recursos.
  • Integrar com aplicativos WinUI: O modelo está configurado para funcionar perfeitamente com aplicativos do WinUI 3, garantindo compatibilidade com o modelo de execução e implantação do 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 regular de classes .NET

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

  • Contém apenas código .NET puro (ViewModels, modelos, serviços, utilitários)
  • Não faz referência a nenhum tipo de SDK de Aplicativo do WinUI 3 ou do Windows
  • Não inclui nenhum arquivo XAML ou código relacionado à interface do usuário
  • Precisa ser compartilhado entre diferentes tipos de aplicativo (não apenas aplicativos WinUI)
  • Destina-se a várias plataformas (por exemplo, .NET MAUI ou ASP.NET Core) ou sistemas operacionais (por exemplo, Linux ou macOS)

Para obter um tutorial sobre como adicionar uma Biblioteca de Classes do .NET à sua solução, consulte Como estender o aplicativo de console em C# e depurar no Visual Studio.

Para este tutorial, use o modelo da Biblioteca de Classes do WinUI porque ele permite que você referencie tipos WinUI, se necessário, no futuro, e ele foi projetado especificamente para integrar-se a aplicativos WinUI 3. Embora nossos ViewModels e serviços atualmente não exijam tipos WinUI, usar esse modelo fornece flexibilidade e garante a integração adequada com o ambiente do SDK do Aplicativo windows.

Criar o projeto WinUINotes.Bus

Crie um novo projeto da Biblioteca de Classes WinUI nomeado WinUINotes.Bus para manter seus ViewModels, modelos e serviços na mesma solução que seu projeto de aplicativo WinUI.

  1. No Visual Studio, clique com o botão direito do mouse na solução no Gerenciador de Soluções.

  2. Selecione Adicionar>Novo Projeto....

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

    Observação

    Selecione a Biblioteca de Classes do WinUI, não apenas a Biblioteca de Classes. O modelo da Biblioteca de Classes do WinUI inclui referências ao SDK de Aplicativos do Windows e à estrutura do WinUI 3.

  4. Nomeie o projeto WinUINotes.Bus e selecione Criar.

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

Adicionar referências de projeto

As referências de projeto permitem que seu projeto de aplicativo WinUI use os ViewModels e os serviços definidos no projeto da biblioteca de classes:

  1. Clique com o botão direito do mouse no projeto WinUINotes e selecione Adicionar>Referência do Projeto....
  2. Verifique o projeto WinUINotes.Bus e selecione OK.

O projeto Bus contém seus ViewModels, modelos e serviços, permitindo que você os teste independentemente da camada de interface do usuário.

Observação

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