Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per abilitare i test unitari dei tuoi ViewModel e servizi, crea un progetto di libreria di classi separato. Questo progetto è necessario perché i progetti di unit test WinUI 3 non possono fare riferimento direttamente ai progetti di app WinUI.
Informazioni sul modello libreria di classi WinUI
Il modello Libreria di classi WinUI crea una libreria di classi gestita (DLL) .NET progettata appositamente per l'uso con applicazioni desktop WinUI. Questo modello fa parte del Windows App SDK e offre funzionalità importanti che una libreria di classi .NET standard non include.
Differenze principali rispetto a una libreria di classi .NET
Il modello libreria di classi WinUI differisce da una libreria di classi .NET standard in diversi modi importanti:
-
Targeting specifico di Windows: è destinato a un framework specifico di Windows (ad esempio
net8.0-windows10.0.19041.0) anziché al framework di .NET multipiattaforma, fornendo access alle API windows. - integrazione Windows App SDK: include riferimenti ai pacchetti NuGet
Microsoft.WindowsAppSDKeMicrosoft.Windows.SDK.BuildTools, fornendo access alle API WinUI e Windows App SDK. -
Supporto diWinUI abilitato: il project include
<UseWinUI>true</UseWinUI>nella configurazione, abilitando le attività di compilazione specifiche di WinUI e la compilazione XAML. - Identificatori di runtime di Windows: è configurato per identificatori di runtime specifici di Windows (win-x86, win-x64, win-arm64).
Perché usare una libreria di classi WinUI?
Usare il modello Libreria di classi WinUI anziché una normale libreria di classi .NET quando la libreria deve:
-
Riferimento a Tipi e Controlli WinUI: Il modello di libreria di classi WinUI consente di usare i tipi dello spazio dei nomi
Microsoft.UI.Xamle altre API del Windows App SDK nel codice della libreria. - Includi risorse XAML: se la libreria contiene UserControls, controlli personalizzati o altre risorse XAML, devi usare il modello Libreria di classi WinUI per compilare e creare pacchetti correttamente queste risorse.
- Integrate con le app WinUI: il modello è impostato per funzionare in modo fluido con le app desktop WinUI, garantendo la compatibilità con il modello di runtime e distribuzione di Windows App SDK.
- Supporto della compilazione di markup XAML: il modello include le attività di compilazione necessarie per compilare i file XAML nella libreria.
Quando usare una normale libreria di classi .NET
Usa un progetto di libreria di classi .NET standard quando:
- Contiene solo codice .NET puro (ViewModels, models, services, utilities)
- Non si riferisce a tipi WinUI o Windows App SDK
- Non include file XAML o codice correlato all'interfaccia utente
- Deve essere condiviso tra diversi tipi di applicazioni (non solo le app WinUI)
- È destinata a più piattaforme (ad esempio, .NET MAUI o ASP.NET Core) o sistemi operativi (ad esempio, Linux o macOS)
Per un'esercitazione sull'aggiunta di una libreria di classi .NET alla soluzione, vedere Estend app console C# ed eseguire il debug in Visual Studio.
Per questa esercitazione, usare il modello Libreria di classi WinUI perché consente di fare riferimento ai tipi WinUI , se necessario in futuro, ed è progettato specificamente per l'integrazione con le applicazioni WinUI. Anche se i servizi e i modelli di visualizzazione non richiedono attualmente tipi WinUI, l'uso di questo modello offre flessibilità e garantisce un'integrazione corretta con l'ambiente Windows App SDK.
Creare il project WinUINotes.Bus
Creare un nuovo progetto di libreria di classi WinUI denominato WinUINotes.Bus per contenere i ViewModels, modelli e servizi nella stessa soluzione del progetto dell'app WinUI.
In Visual Studio fare clic con il pulsante destro del mouse sulla soluzione in Solution Explorer.
Selezionare Aggiungi>Nuovo Project... .
Scegliere il modello Libreria di classi WinUI e selezionare Avanti.
Annotazioni
Assicurarsi di selezionare Libreria di classi WinUI, non solo libreria di classi. Il modello Libreria di classi WinUI include riferimenti al framework Windows App SDK e WinUI.
Assegna il nome al progetto
WinUINotes.Buse seleziona Crea.Eliminare il file predefinito
Class1.cs.
Aggiungere riferimenti al progetto
I riferimenti di progetto consentono al progetto WinUI di usare i ViewModels e i servizi definiti nel progetto di libreria di classi.
- Fare clic con il pulsante destro del mouse sul WinUINotes project e selezionare Aggiungi>Project Riferimento... .
- Controllare WinUINotes.Bus project e selezionare OK.
Il progetto Bus contiene i tuoi ViewModel, modelli e servizi, in modo da poterli testare indipendentemente dal livello della UI.
Annotazioni
Il termine "bus" indica un progetto che funge da livello di comunicazione o intermediario. Contiene la logica di presentazione (ViewModels), la logica di business (modelli) e i servizi che è possibile condividere e testare indipendentemente dall'interfaccia utente.