WinUI 3接入WCT出现InitializeComponent及Duplicate Page报错如何解决
排查解决步骤
错误NETSDK1022 处理
- 右键项目选择「编辑项目文件」,删除所有
<ItemGroup>节点下显式声明的<Page Include="xxx.xaml"/>条目 - 在项目根
<PropertyGroup>节点中添加/保留配置:<EnableDefaultPageItems>true</EnableDefaultPageItems>,使用.NET SDK默认的Page项包含逻辑 - 保存项目文件后执行「清理解决方案」→「重新生成解决方案」操作,校验错误是否消除
错误CS1061 处理
- 确认Windows Community Toolkit(WCT)版本匹配:Windows App SDK 1.0.0 experimental1仅适配版本号≥
7.1.0-preview2的WinUI 3专属WCT包,禁止安装适配UWP的无WinUI后缀的WCT包 - 检查App.xaml文件属性:右键App.xaml→「属性」,确认「生成操作」设置为
XamlCompilerPreprocess,「自定义工具」设置为MSBuild:Compile - 清除本地缓存:关闭Visual Studio,删除项目根目录下的
bin、obj文件夹,重新打开IDE生成项目 - 校验App.xaml和App.xaml.cs的命名空间完全一致,无拼写错误
全局兼容性校验
- 所有NuGet包版本统一:固定
Microsoft.WindowsAppSDK版本为1.0.0-experimental1,所有WCT相关包(如Microsoft.Toolkit.WinUI.UI.Controls等)统一使用7.1.0-preview2版本 - 确认项目目标框架为
net6.0-windows10.0.19041.0或更高版本,目标运行时选择x64/x86/ARM64,不要使用AnyCPU - 项目中禁止同时引用UWP版WCT和WinUI 3版WCT包
内容的提问来源于stack exchange,提问作者tinmac
相关产品推荐
相关产品推荐

