项目属性

本主题介绍可在 Visual Studio 项目文件中设置的项目属性,以自定义应用的部署方式。

属性名称和说明 了解更多信息
AppxPackage。 指定是否打包 WinUI 3 应用。 false(未打包的应用),或不存在(已打包应用) 为未打包的 WinUI 3 桌面应用创建一个新项目
EnableMsixTooling。 为项目启用单一项目 MSIX 功能。 true(启用),或缺失(禁用) 使用单项目 MSIX 将应用打包
UseWinUI。 指定是否在应用中使用 WinUI 3 用户界面框架。 true 或缺失(对于 false Windows App SDK (WinUI 3) 中的 WinUI
WindowsAppSdkBootstrapInitialize。 确定 Windows App SDK 是否利用模块初始化程序在应用启动时自动调用引导程序 API。 true(可执行文件的默认值),false(非可执行文件的默认值) 选择退出(或加入)自动模块初始化
WindowsAppSdkSelfContained。 确定应用是否作为独立部署。 true 或缺失(对于 false 独立应用程序的 Windows App SDK 部署指南
WindowsAppSdkUndockedRegFreeWinRTInitialize。 确定应用启动时是否自动启用 Windows App SDK 的非锁定免注册 Windows Runtime (UndockedRegFreeWinRT) 实现。 true(可执行文件的默认值),false(非可执行文件的默认值) 选择退出(或加入)自动 UndockedRegFreeWinRT 支持
WindowsPackageType。 为未打包的应用设置 <WindowsPackageType>None</WindowsPackageType>,将导致自动初始化程序查找并加载最适合应用的 Windows App SDK 版本。 ,或缺失(禁用自动初始值设定项) 为未打包的 WinUI 3 桌面应用创建一个新项目

在幕后,并选择退出自动模块初始化

示例

下面是一个 C# WinUI 3 项目的典型 .csproj 文件摘录,其中显示了上表中一些项目属性的使用情况。

...
<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>
...