Back to Uno

dotnet new templates for Uno Platform

doc/articles/get-started-dotnet-new.md

6.6-release-branch-cut3.4 KB
Original Source

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:

dotnetcli
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: '<template-name>'." error.

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

[!includeuse-uno-check]

Uno Platform Application

This template can be used to create a multi-platform application for iOS, Android, WebAssembly, 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 <a target="_blank" href="https://aka.platform.uno/app-wizard">Live Wizard</a> 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:

dotnetcli
dotnet new unoapp -preset=blank -o test

To create from a recommended template using Uno.Extensions:

dotnetcli
dotnet new unoapp -preset=recommended -o test

[!NOTE] Starting with Uno.Sdk 6.0, Skia rendering is now the default rendering engine in Uno Platform templates for iOS/Android/WebAssembly. If you prefer native rendering instead, you can use the -renderer native parameter.

More articles on WinUI 3:

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:

dotnetcli
dotnet new unolib -o MyUnoLib

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:

dotnetcli
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:

dotnetcli
dotnet new uninstall Uno.Templates

[!includegetting-help]