Project properties
This topic describes the project properties that you can set in your Visual Studio project file to customize how your app is deployed.
Property name and description | Values | For more info |
---|---|---|
AppxPackage. Specifies whether or not a WinUI 3 app is packaged. | false (for an unpackaged app), or absent (for a packaged app) | Create a new project for an unpackaged WinUI 3 desktop app |
EnableMsixTooling. Enables the single-project MSIX feature for a project. | true (to enable), or absent (to disable) | Package your app using single-project MSIX |
UseWinUI. Specifies whether you're using the WinUI 3 user interface framework in your app. | true, or absent (for false) | WinUI in the Windows App SDK (WinUI 3) |
WindowsAppSdkBootstrapInitialize. Determines whether or not the Windows App SDK leverages module initializers to call the bootstrapper API automatically at app startup. | true (the default for executables), false (the default for non-executables) | Opting out of (or into) automatic module initialization |
WindowsAppSdkSelfContained. Determines whether or not an app is deployed self-contained. | true, or absent (for false) | Windows App SDK deployment guide for self-contained apps |
WindowsAppSdkUndockedRegFreeWinRTInitialize. Determines whether or not the Windows App SDK's implementation of undocked registration-free Windows Runtime (UndockedRegFreeWinRT) is enabled automatically at app startup. | true (the default for executables), false (the default for non-executables) | Opting out of (or into) automatic UndockedRegFreeWinRT support |
WindowsPackageType. Setting <WindowsPackageType>None</WindowsPackageType> for an unpackaged app causes the auto-initializer to locate and load a version of the Windows App SDK version that's most appropriate for your app. |
None, or absent (to disable the auto-initializer) | Create a new project for an unpackaged WinUI 3 desktop app Behind the scenes, and opting out of automatic module initialization |
Example
Here's an excerpt from a typical .csproj
file for a C# WinUI 3 project showing some of the project properties from the table above in use.
...
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
...
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
</PropertyGroup>
...
Related topics
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Windows developer