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.ProjectTemplates.Dotnet
If you need to determine the 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.
[!includegetting-help]
This template can be used to create a blank multi-platform application for iOS, Android, WebAssembly, macOS, Mac Catalyst, Linux, and Win32 Desktop which uses the new WinUI 3 APIs.
This template uses a single project head for iOS, Android, macOS, and Mac Catalyst. It requires Visual Studio 2022.
Find detailed instructions here.
A basic example:
dotnet new unoapp -o MyApp
Note
It is possible to create a .NET 7 template by using -f net7.0
parameter.
More articles on WinUI 3:
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
This template can be used to create a blank multi-platform application for iOS, Android, WebAssembly, macOS, Linux, and Win32 Desktop which uses the new WinUI 3 APIs.
Find detailed instructions here.
A basic example:
dotnet new unoapp-winui-xamarin -o MyApp
More articles on WinUI 3:
.NET 6 Mobile support is currently in Preview, following Microsoft's support status. As of Uno 4.1, .NET 6 Mobile Preview 13 and above is supported with Visual Studio 2022 17.2 Preview 1. Previous releases of Visual Studio are not supported.
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 provides an enhanced template to build your application with less effort.
See this documentation for more information.
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
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
This template is specializing in the creation of a Prism Library enabled blank application.
A basic example:
dotnet new unoapp-prism -o MyApp
A more advanced example which will not generate the android and macOS heads:
dotnet new unoapp -o MyApp -android=false -macos=false
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.
This template is built to enhance an existing Xamarin.Forms application with the Uno Platform WebAssembly support.
To use it:
- Create a Xamarin.Forms project
- Check Place project and solution in the same directory
- Check Windows (UWP)
- Using a VS Developer Command Prompt, navigate to the folder containing the solution
dotnet new wasmxfhead
- Open or Reload the solution in Visual Studio
- Set the Wasm project as the startup project
- Open the Nuget Package manager for the Wasm project and update the
Uno.Xamarin.Forms.Platform
project to the latest stable package - Run the app using F5 (with the Visual Studio debugger), and you are good to go!
Using a command line or terminal, run the following command:
dotnet new -u Uno.ProjectTemplates.Dotnet
[!includegetting-help]