如何解决ResourceMap Not Found异常及MS Store多语言显示问题
解决“ResourceMap Not Found”异常的步骤
- 严格规范resw文件路径:必须将resw文件放在项目根目录的
Strings文件夹下,每个语言对应独立子目录(如Strings/en-US、Strings/zh-CN),文件统一命名为Resources.resw(自定义名称需保证调用时对应)。 - 检查文件属性配置:选中resw文件,在Visual Studio属性面板设置生成操作为
PRIResource,复制到输出目录设为如果较新则复制。 - 修正ResourceLoader调用逻辑:
- 若使用默认
Resources.resw,直接调用ResourceLoader.GetForViewIndependentUse()即可,无需额外路径参数。 - 若用自定义名称的resw(如
AppResources.resw),需传入资源名称:ResourceLoader.GetForViewIndependentUse("AppResources")。
- 若使用默认
- 验证包清单配置:打开
Package.appxmanifest,在Properties标签确认资源语言已包含所有添加的语言,且默认语言设置无误。
MS Store识别多语言的关键建议
- 彻底切换到resw方案:UWP应用面向MS Store时,resx并非官方推荐的本地化方式,Store仅识别基于PRI资源的resw配置,建议完全替换resx为resw。
- 正确配置Package.appxmanifest:
- 切换到打包标签,点击选择包支持的语言,添加所有需要的语言并勾选。
- 确保每个语言对应的
Strings子目录存在,且resw文件包含应用名称、描述等Store显示所需的核心字段。
- 本地打包验证:创建上传到Store的应用包,生成.appxbundle后解压,检查是否包含对应语言的PRI资源文件。
- 同步Partner Center语言设置:在Partner Center提交应用时,进入产品管理→语言,添加所有支持的语言,为每个语言填写匹配的应用描述、截图等内容,保证和本地资源配置一致。
- 用工具检查PRI完整性:使用Windows SDK自带的
makepri.exe工具生成资源报告,确认所有语言资源已正确打包:
打开resource_report.xml,检查目标语言的资源条目是否存在。makepri dump /pr <你的应用包目录> /o resource_report.xml
内容的提问来源于stack exchange,提问作者damichab
相关产品推荐
相关产品推荐

