dotnet new templates for Uno Platform

The Uno Platform provides a set of command-line templates to create cross-platform applications.

To install the templates, type the following:

dotnet new install Uno.Templates

To determine all parameters available for a template use dotnet new [templatename] -h.

Important

Installing the templates is done per dotnet CLI version. Meaning that the templates are installed for the version shown by dotnet --version. If you tried to use the templates with a version different than the one you used for installing, you'll get "No templates found matching: ''." error.

This is common when using global.json that alters the .NET CLI/SDK version. Specifically, it's common for the UI Test template.

Check your developer environment

  1. Open a command-line prompt, Windows Terminal if you have it installed, or else Command Prompt or Windows Powershell from the Start menu.

  2. Setup uno.check by:

    • Installing the tool:

      dotnet tool install -g uno.check
      
    • Updating the tool, if you previously installed it:

      dotnet tool update -g uno.check
      
  3. Run the tool from the command prompt with the following command:

    uno-check
    
  4. Follow the instructions indicated by the tool.

You can find additional information about uno-check here.

Uno Platform Application

This template can be used to create a multi-platform application for iOS, Android, WebAssembly, Mac Catalyst, Linux, and Win32 Desktop which uses the new WinUI 3 APIs.

Tip

To create a new Uno Platform app and browse all the capabilities of the template, head to our Live Wizard to create a dotnet new command line. For a detailed overview of the Uno Platform project wizard and all its options, see the Wizard guide.

It comes with the Blank and Recommended presets.

To create a blank template, using minimal dependencies:

dotnet new unoapp -preset=blank -o test

To create from a recommended template using Uno.Extensions:

dotnet new unoapp -preset=recommended -o test

More articles on WinUI 3:

Uno Platform Blank Application (UWP)

This template can be used to create a blank multi-platform application for iOS, Android, WebAssembly, macOS, Skia/GTK (Windows, Linux, macOS), and Skia/Wpf (Windows 7 and 10), using the UWP API set.

A basic example:

dotnet new unoapp-uwp -o MyApp

A more advanced example that will not generate the the Mobile head:

dotnet new unoapp-uwp -o MyApp -mobile=false

Uno Platform Blank library

This template can be used to create a blank library. With this type of library, Skia and WebAssembly do not need to be built separately, but cannot be differentiated.

A basic example:

dotnet new unolib -o MyUnoLib

Uno Platform Blank Cross-Runtime library

This template can be used to create a blank cross-runtime library when platform-specific code needs to be created for Skia and WebAssembly.

A basic example:

dotnet new unolib-crossruntime -o MyCrossRuntimeLibrary

Uno Platform MAUI Embedding Class Library

This template can be used to create a .NET MAUI Controls library to embed within your Uno Platform app.

A basic example:

dotnet new unomauilib -o MyMauiEmbeddingLibrary

Uno Platform Uno.UITest library

This template creates a project for creating and running UI Tests based on Uno.UITest.

Considering you've created an application with dotnet new unoapp -o MyApp, you can then create a UI Tests library with these steps:

  • Create a folder name MyApp\MyApp.UITests
  • In that folder, run dotnet new unoapp-uitest

This will automatically add the new project to the existing solution.

For additional information about UI Tests creation, visit the Uno.UITest documentation.

Uninstalling the templates

Using a command line or terminal, run the following command:

dotnet new -u Uno.Templates
Tip

If you are experiencing issues with Uno Platform, please visit our GitHub Discussions or Discord Server - where our engineering team and community will be able to help you.