/ Visual Studio

Windows Store 添加引用出现“负载文件不存在”错误的解决方法

编写一个 WinRT 的库,正常 build 后,在另一个项目中引用,再 build 时遭遇如下错误:

错误	1	负载文件“C:\XXX\XXX.XXX”不存在。
Error	1	Payload file "C:\XXX\XXX.XXX" does not exist.	

这是由于 WinRT 中资源文件不再包含于程序集内部,而是直接放置于程序集所在位置中。假设程序集文件名为 "abc.dll",位于 "C:\ABC"中,则完整的目录结构为:

C:\ABC\
└ abc.dll
└ abc.pri
└ abc (文件夹,与程序集同名)
    └ abc.xr.xml
    └ Page.xbf
    └ font.ttf

即,资源文件保存在一个与程序集同名的文件夹内,该文件夹与程序集本身置于相同位置。

另外,如果项目中加入了字体等资源文件,记得修改文件的 “复制到输出目录”(Copy to Output Directory)属性设置,这样 build 项目时 VS 会把相关的资源文件放置到输出目录。