我也有这个问题。我相信,我可以通过使用正确的项目模板创建 WinUI3 项目来解决此问题。
之前,我在 Visual Studio 2022 中使用了“Windows App SDK 扩展”。然后我删除了此扩展,而是从 Visual Studio 安装程序中安装了“Windows APP SDK C# 模板”项(“安装详细信息”中的项)。
使用新的/正确的项目模板“Empty App, packaged (WinUI 3 in Desktop), 我创建了一个 WinUI 3 项目。
您可以在此处找到 .cjproj 文件的相关部分:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>MyApp</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
<Platforms>x86;x64;arm64</Platforms>
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
<PublishProfile>win10-$(Platform).pubxml</PublishProfile>
<UseWinUI>true</UseWinUI>
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.1.2" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.1" />
<Manifest Include="$(ApplicationManifest)" />
</ItemGroup>
</Project>
您可以看到,需要两个 Nuget 包:
Microsoft.WindowsAppSDK 和 Microsoft.Windows.SDK.BuildTools。
如您所见,我当时使用的是 Windows App SDK 1.1.2。 (我你发布了一个未打包的应用,需要在系统上安装相应的Window App SDK,我可以找到here)
在项目设置中,查看TargetFramework值中的值。似乎只是“net6.0”的值不起作用。在this 的帖子中你会发现这样的声明:
更改 net5.0-windows10.0.19041.0
到 net6.0-windows10.0.19041.0
也为我工作。