部署运行MAUI Blazor项目提示WinUI类型元数据无法解析如何解决?
"Cannot resolve metadata for WinUI types" 报错修复方案
报错完整提示:Cannot resolve metadata for WinUI types. Please ensure that NuGet Restore was successful.
该报错核心原因是WinUI相关依赖加载异常,按以下步骤依次排查即可解决:
- 清理本地缓存文件
关闭Visual Studio,删除项目根目录下的bin、obj文件夹,同时删除全局NuGet缓存目录C:\Users\{当前系统用户名}\.nuget\packages下的所有文件,避免损坏的缓存包影响加载。 - 修复MAUI工作负载
打开Visual Studio Installer,找到已安装的Visual Studio版本,点击「修改」-「工作负载」,确认「.NET 多平台应用 UI 开发」工作负载已完整安装,如果已经安装,点击「更多」-「修复」,重新校验工作负载的文件完整性。 - 校验项目Windows目标版本配置
右键点击项目,选择「编辑项目文件」,确认项目配置中Windows目标版本和本地安装的Windows SDK版本匹配,示例配置参考:<PropertyGroup> <TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst;net8.0-windows10.0.19041.0</TargetFrameworks> <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion> <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion> </PropertyGroup> - 重新执行NuGet还原和生成
重新打开Visual Studio加载项目,右键点击解决方案选择「还原NuGet包」,还原完成后先执行一次「生成解决方案」操作,生成无报错后再尝试部署运行。
如果上述步骤执行后仍有问题,可将项目依赖的Microsoft.Maui.Controls相关包升级到最新稳定版,再重复上述步骤即可。
内容的提问来源于stack exchange,提问作者Daniel_Kamel
相关产品推荐
相关产品推荐

