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 deste projeto porque os projetos de teste de unidade do WinUI 3 não podem referenciar diretamente projetos de aplicativo WinUI.

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

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

Principais diferenças de uma biblioteca de classes .NET

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

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

Por que usar uma biblioteca de classes WinUI?

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

  • Reference WinUI types and controls: O modelo da Biblioteca de Classes WinUI permite que você use tipos do namespace Microsoft.UI.Xaml e outras APIs do 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 da Biblioteca de Classes do WinUI para compilar e empacotar corretamente esses recursos.
  • Integrar com aplicativos WinUI: o template está configurado para funcionar perfeitamente com aplicativos WinUI, garantindo a compatibilidade com o runtime e o modelo de 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 de classes de .NET padrão

Use um projeto padrão de Biblioteca de Classes .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 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 aplicativo (não apenas aplicativos WinUI)
  • Direciona 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 .NET à sua solução, consulte Estender aplicativo de console 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. 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 Windows App SDK.

Criar o projeto WinUINotes.Bus

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

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

  2. Selecione Add>New Project... .

  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 à estrutura Windows App SDK e WinUI.

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

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

Adicionar referências do projeto

Referências de projeto permitem que seu aplicativo WinUI use os ViewModels e os serviços definidos no projeto de biblioteca de classes.

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

O projeto Bus contém seus ViewModels, modelos e serviços, para que você possa testá-los independentes da camada de interface do usuário.

Observação

O termo "Barramento" indica um projeto que atua como uma camada de comunicação ou como um 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.