UWP打包项目报错:‘资源值冲突’与‘重复项’求助
解决UWP Packaging Project打包时的PRI277资源冲突与重复项错误
我之前帮不少开发者解决过这类带桌面扩展的UWP应用打包问题,结合常见的排查和修复思路,给你整理了几个有效的解决方案:
1. 排查重复的资源文件定义
- 先检查你的UWP项目和Win32项目里,有没有同名的资源文件(比如
Resources.resw、Strings文件夹下的多语言资源),特别是根目录或相同命名空间下的资源。 - 如果发现重复,建议把重复的资源合并到一个项目里,或者给其中一方的资源文件重命名、调整命名空间,避免PRI工具识别出资源冲突。
2. 调整Packaging Project的资源生成配置
- 右键点击你的Packaging Project,选择属性 -> 打包,找到和生成资源包相关的设置。
- 试试勾选或取消「自动生成资源包」选项,或者调整「资源包含/排除规则」,确保不会同时从UWP和Win32项目里重复提取相同的空资源项。
3. 彻底清理后重建解决方案
- 先清理所有项目的生成文件:点击Visual Studio顶部菜单的生成 -> 清理解决方案。
- 删除解决方案目录下的
bin、obj文件夹,还有Packaging Project生成的临时文件(比如GENERATEPROJECTPRIFILE相关的缓存)。 - 重启Visual Studio后,重新生成整个解决方案,再尝试打包。
4. 检查桌面扩展的清单配置
- 打开Win32项目的
Package.appxmanifest(桌面扩展的话可能是和DesktopBridge相关的清单文件),确认里面的资源声明有没有和UWP项目的清单冲突。 - 比如要确保两个项目的
Resources节点下,没有重复的空资源项或者重复的语言/区域配置。
5. 手动修改PRI工具的生成参数
- 如果上面的方法都没用,可以试试修改Packaging Project的
.csproj文件,给PRI工具加个额外参数来忽略空资源冲突:
添加这段配置后重新生成项目,让PRI工具直接覆盖重复的资源项。<PropertyGroup> <GenerateProjectPriFileArgs>$(GenerateProjectPriFileArgs) /overwrite</GenerateProjectPriFileArgs> </PropertyGroup>
内容的提问来源于stack exchange,提问作者ispiro
相关产品推荐
相关产品推荐

