Configuring Uno-Check
Running Uno-Check in a CI environment
It is possible to run Uno-Check to setup your build environment in a repeatable way by using the following commands:
dotnet tool install --global Uno.Check --version 1.29.4
uno-check -v --ci --non-interactive --fix --skip vswin --skip androidemulator --skip androidsdk
Pinning uno.check to a specific version will allow to keep a repeatable build over time, regardless of the updates done to Uno Platform or .NET. Make sure to regularly update to a more recent version of Uno.Check.
Tip
You can use dotnet package search uno.check to search for the latest version of uno.check.
Running in read-only mode on Windows
In restricted environments, it may be required to run uno-check to determine what needs to be installed without privileges elevation, without fixing the issues found.
In order to do so, use the following command:
cmd /c "set __COMPAT_LAYER=RUNASINVOKER && uno-check"
Command line arguments
The following command line arguments can be used to customize the tool's behavior.
--target Choose target platforms
Uno Platform supports a number of platforms, and you may only wish to develop for a subset of them. By default, the tool runs checks for all supported platforms. If you use the --target argument, it will only run checks for the nominated target or targets.
So, for example, the following will only check your environment for web and Linux development:
uno-check --target wasm --target linux
Note
When specifying multiple target platforms, each element must be preceded by --target. It is not possible to list multiple values without this prefix.
Supported target platforms and their --target values:
| Target Platform | Input Values | 
|---|---|
| WebAssembly | web, webassembly, wasm | 
| iOS | ios | 
| Android | android, droid | 
| macOS | macos | 
| SkiaDesktop | skiadesktop, skia, desktop, linux | 
| WinAppSDK | winappsdk, wasdk | 
| Windows | windows, win32desktop, win32 | 
| All Platforms | all | 
-m <FILE_OR_URL>, --manifest <FILE_OR_URL> Manifest File or Url
The manifest file is used by the tool to fetch the latest versions and requirements.
The default manifest is hosted at: https://raw.githubusercontent.com/unoplatform/uno.check/main/manifests/uno.ui.manifest.json
Use this option to specify an alternative file path or URL to use.
uno-check --manifest /some/other/file
-f, --fix Fix without prompt
You can try using the --fix argument to automatically enable solutions to run without being prompted.
uno-check --fix
-n, --non-interactive Non-Interactive
If you're running on CI, you may want to run without any required input with the --non-interactive argument.  You can combine this with --fix to automatically fix without prompting.
uno-check --non-interactive
--pre, --preview, -d, --dev Preview Manifest feed
This uses a more frequently updated manifest with newer versions of things more often. If you use the pre-release versions of Uno.UI NuGet packages, you should use this flag.
The manifest is hosted by default here: uno.ui-preview.manifest.json
uno-check --pre
--pre-major, --preview-major
This generally uses the preview builds of the next major version of .NET available.
The manifest is hosted by default here: uno.ui-preview-major.manifest.json
uno-check --pre-major
--ci Continuous Integration
Uses the dotnet-install powershell / bash scripts for installing the dotnet SDK version from the manifest instead of the global installer.
uno-check --ci
-s <ID_OR_NAME>, --skip <ID_OR_NAME> Skip Checkup
Skips a checkup by name or ID as listed in uno-check list.
Note
If any other checkups depend on a skipped checkup, they will be skipped too.
uno-check --skip openjdk --skip androidsdk
list List Checkups
Lists possible checkups in the format: checkup_id (checkup_name).
These can be used to specify --skip checkup_id and -s checkup_name arguments.
config Configure global.json and NuGet.config in Working Dir
This allows you to quickly synchronize your global.json and/or NuGet.config in the current working directory to utilize the values specified in the manifest.
Arguments:
--dotnetor--dotnet-version: Use the SDK version in the manifest inglobal.json.--dotnet-pre true|false: Change theallowPrereleasevalue in theglobal.json.--dotnet-rollForward <OPTION>: Change therollForwardvalue inglobal.jsonto one of the allowed values specified.--nugetor--nuget-sources: Adds the nuget sources specified in the manifest to theNuGet.configand creates the file if needed.
Example:
uno-check config --dev --nuget-sources --dotnet-version --dotnet-pre true