无法打开.NET MAUI项目属性,报AndroidPackageFormat值数量不符错误
错误信息
打开.NET MAUI项目属性时触发如下可恢复错误:
可恢复错误
System.ArgumentException: 属性AndroidRule::AndroidPackageFormat预期8个值,但仅获取到2个。
参数名: values
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.Property.Update(ImmutableArray1 values) at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.Property..ctor(PropertyMetadata metadata, ImmutableArray1 values, PropertyContext context, ImmutableHashSet`1 varyByDimensions)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.PropertyContextFactoryBase.ToProperty(IUIPropertySnapshot property, Page page, Category category, Int32 order, PropertyContext propertyContext, IPropertyEditorRegistry propertyEditorRegistry)
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.g__CreateProperties|14_5(<>c__DisplayClass14_0& )
at Microsoft.VisualStudio.ProjectSystem.VS.Implementation.PropertyPages.Designer.ProjectPropertyDataAccess.Observer.g__ProcessInitialData|14_1(<>c__DisplayClass14_0& )
VS 2022 Community安装无报错,JetBrains Rider可正常打开项目,但需要解决VS中无法打开属性页的问题。
解决方案
1. 修复项目文件中的AndroidPackageFormat配置
- 用文本编辑器(如VS Code、Notepad++)打开项目的
.csproj文件 - 搜索
<AndroidPackageFormat>节点,正常情况下该属性应为单个有效值(apk或aab),如果存在多值或格式错误,修改为标准格式:<AndroidPackageFormat>apk</AndroidPackageFormat> - 保存文件后,在VS中右键项目选择重新加载项目,再尝试打开属性页
2. 重装VS的.NET移动开发组件
- 打开Visual Studio Installer,选择你的VS 2022 Community实例,点击修改
- 在工作负载列表中取消勾选移动开发.NET,点击修改完成卸载
- 重新勾选移动开发.NET,确保所有依赖组件(如Android SDK、模拟器等)都被选中,点击修改重新安装
- 安装完成后重启VS,再打开项目测试
3. 清除VS缓存文件
- 关闭所有VS实例
- 删除以下路径下的缓存文件:
%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache%USERPROFILE%\AppData\Local\Temp\VSIXInstaller%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\<你的VS版本号>\Temp
注:将<你的VS版本号>替换为实际路径中的版本号,如17.7.0
- 重启VS并打开项目
4. 迁移项目到新的MAUI模板
如果以上方法均无效,说明原项目配置已损坏:
- 创建一个新的空.NET MAUI项目,确认其属性页可正常打开
- 将原项目中的代码文件、资源文件(如
Resources目录内容)逐步迁移到新项目中 - 重新配置项目的依赖和发布设置
内容的提问来源于stack exchange,提问作者Dimty

