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:
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
This is common when using 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: 'global.json
that alters the .NET CLI/SDK version. Specifically, it's common for the UI Test template.
Note
When using .NET 6, use dotnet new -i Uno.Templates
instead.
Verify your developer environment
Open a command-line prompt, Windows Terminal if you have it installed, or else Command Prompt or Windows Powershell from the Start menu.
a. Install the tool by running the following command from the command prompt:
dotnet tool install -g uno.check
b. To update the tool, if you already have an existing one:
dotnet tool update -g uno.check
Run the tool from the command prompt with the following command:
uno-check
Follow the instructions indicated by the tool
Note
Alternatively you can run uno-check --pre
to install the preview version of the Uno Platform. This is strongly suggested when using Visual Studio Previews.
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.
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
Note
It is possible to create a .NET 6 template by using the -tfm net6.0
parameter.
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
A basic example:
dotnet new unoapp-uwp -o MyApp
A more advanced example that will not generate the android and macOS heads:
dotnet new unoapp-uwp -o MyApp -android=false -macos=false
Uno Platform Blank Application (UWP, .NET 6)
This template can be used to create a blank multi-platform application for iOS, Android, WebAssembly, macOS, Mac Catalyst, Skia/GTK (Windows, Linux, macOS), and Skia/Wpf (Windows 7 and 10).
This template uses a single project head for iOS, Android, macOS, and Mac Catalyst. It requires Visual Studio 2022.
A basic example:
dotnet new unoapp-uwp-net6 -o MyApp
A more advanced example that will not generate the android and macOS heads:
dotnet new unoapp-uwp-net6 -o MyApp --Mobile=false
Uno Platform Extensions
Uno Platform provides an enhanced template to build your application with less effort.
See this documentation for more information.
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 Uno.UITest library
This templates creates a project for creating and running UI Tests based on Uno.UITest.
Considering you've created an application as follows:
dotnet new unoapp -o MyApp
To create a UI Tests library:
- 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
Getting Help
If you continue experiencing issues with Uno Platform, please visit our GitHub Discussions or Discord - #uno-platform channel where our engineering team and community will be able to help you.