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

Win32-DLL转UWP-DLL编译报错求助(VS2017/Win10)

解决UWP DLL编译时的PRI资源错误

咱们直接说问题核心和解决办法——你遇到的是UWP资源索引器(PRI工具)的路径限制问题,先理清楚根源再动手:

错误本质

你看到的PRI261: 0xdef00523是关键错误:UWP的PRI工具不允许直接引用项目根目录以外的普通资源文件(仅支持引用打包好的资源容器),而你在layout.resfiles里指定的路径Files\CRenderer\..\..\..\Products\CRenderer\CRenderer\CompiledShaders\GS_GenerateNormals.cso通过多个../跳出了项目根目录,直接触发了这个限制。至于PRI175,只是路径错误导致资源处理失败的连锁反应,解决PRI261后它会自动消失。

具体解决方法

方法1:把着色器文件夹移到项目根目录内(最直接)

  • 把存放.cso的CompiledShaders文件夹,复制或移动到你的UWP DLL项目根目录下(和.vcxproj文件同层级)
  • 修改layout.resfiles里的路径,改成相对项目根的路径,比如调整为Files\CRenderer\CompiledShaders\GS_GenerateNormals.cso(根据你的实际目录结构微调)
  • 在Visual Studio里把这些.cso文件添加到项目中,选中文件后在属性面板设置内容为是,确保PRI工具能识别它们作为项目资源。

方法2:添加外部文件为项目链接(保留原位置)

如果不想移动文件夹,可以用链接方式让PRI工具把外部文件当作项目内资源处理:

  • 在VS项目右键菜单选择添加 -> 现有项,找到外部CompiledShaders里的.cso文件
  • 点击"添加"按钮旁边的下拉箭头,选择添加为链接
  • 选中这些链接文件,在属性面板设置:
    • 内容:是
    • 复制到输出目录:如果较新则复制
  • 修改layout.resfiles里的路径,改为项目内链接文件的相对路径(比如如果链接文件放在项目的CompiledShaders虚拟文件夹下,路径就写CompiledShaders\GS_GenerateNormals.cso)

方法3:进阶配置PRI工具识别外部资源容器(不推荐)

如果必须引用外部目录,需要把外部的CompiledShaders标记为资源容器,但这需要修改PRI生成的配置脚本,步骤复杂且容易出问题,一般前两种方法足够解决你的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:10:19