You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI3 C++桌面项目本地化资源修改需全量重建问题咨询

解决WinUI 3 C++非打包应用本地化资源修改后无需全量重建的方法

针对非打包WinUI 3 C++桌面项目,你可以通过配置生成后事件调用MakePri.exe增量更新resource.pri文件,避免每次修改资源后全量重建。以下是具体步骤:

1. 确认MakePri.exe路径

MakePri.exe随Windows SDK安装,在Visual Studio中可通过宏自动匹配项目使用的SDK版本,无需硬编码路径:

$(WindowsSdkDir)bin\$(WindowsSDKVersion)\x64\MakePri.exe

2. 创建PRI配置文件(priconfig.xml)

在项目根目录新建priconfig.xml文件,示例内容如下(可根据你的本地化需求调整语言、缩放等限定符):

<resources targetOsVersion="10.0.17763.0" majorVersion="1">
  <index root="\" startIndexAt="\">
    <default>
      <qualifiers>
        <language>en-US</language>
        <scale>100</scale>
      </qualifiers>
      <add path="\" />
    </default>
    <indexer-config type="folder" foldernameAsQualifier="true" />
  </index>
</resources>

该文件用于指定资源根目录、默认限定符规则,MakePri会依据它扫描并索引.resw等本地化资源文件。

3. 配置项目生成后事件

  1. 在Visual Studio中右键项目 → 属性
  2. 导航到 生成事件 → 生成后事件 → 命令行
  3. 输入以下命令:
"$(WindowsSdkDir)bin\$(WindowsSDKVersion)\x64\MakePri.exe" new /pr "$(ProjectDir)" /cf "$(ProjectDir)priconfig.xml" /o /in "$(TargetDir)resources.pri" /mf "$(IntermediateOutputPath)resources.map"

命令参数说明:

  • new:创建新PRI文件或对现有文件进行增量更新
  • /pr:指定项目根目录(资源文件所在的根路径)
  • /cf:指定PRI配置文件的路径
  • /o:覆盖现有的PRI文件(增量更新时保留未修改的资源)
  • /in:指定输出的PRI文件路径(默认放在项目输出目录)
  • /mf:指定资源映射文件路径,用于跟踪增量更新

4. 资源文件属性设置

确保你的.resw等本地化资源文件的生成操作设置为PRIResource:

  1. 右键资源文件 → 属性
  2. 在“常规”选项卡中,将“生成操作”改为PRIResource

注意事项

  • 首次执行生成后事件会生成初始的resources.pri和resources.map;后续修改资源文件时,MakePri会自动增量更新,无需全量重建项目
  • 若资源文件存放在项目子目录,需调整priconfig.xml里的<add path=""/>路径,以及/pr参数指向资源所在目录
  • 若遇到路径或权限问题,可手动指定完整SDK版本号(如10.0.22621.0)替换宏$(WindowsSDKVersion)

内容的提问来源于stack exchange,提问作者sohel14_cse_ju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 12:50:20