Windows 10 为什么makepri.exe要创建多个Resources.pri文件?

Windows 10 为什么makepri.exe要创建多个Resources.pri文件?,windows-10,uwp,Windows 10,Uwp,我正在尝试创建一个Resources.pri文件,以便Windows 10知道在不同分辨率下使用哪些图像作为我的开始平铺。我正在遵循MSDN文档的第6步,链接如下: 我有我所有的标志图片标签,根据他们的规模。以下是它们在“我的资产”文件夹中的名称: 70x70Logo.scale-80.png 70x70Logo.scale-100.png 70x70Logo.scale-140.png 70x70Logo.scale-180.png 150x150Logo.scale-80.png 150x

我正在尝试创建一个Resources.pri文件,以便Windows 10知道在不同分辨率下使用哪些图像作为我的开始平铺。我正在遵循MSDN文档的第6步,链接如下:

我有我所有的标志图片标签,根据他们的规模。以下是它们在“我的资产”文件夹中的名称:

70x70Logo.scale-80.png
70x70Logo.scale-100.png
70x70Logo.scale-140.png
70x70Logo.scale-180.png
150x150Logo.scale-80.png
150x150Logo.scale-100.png
150x150Logo.scale-140.png
150x150Logo.scale-180.png
当我手动使用makepri.exe时,它会创建三个Resources.pri文件,而不是一个包含我想要的所有缩放信息的文件。以下是生成的文件:

Resources.pri
Resources.scale-140.pri
Resources.scale-180.pri
Resources.pri包含80%和100%比例的信息,但其他两个文件包含140%和180%比例的信息。你知道为什么更大的比例尺会被分成不同的文件吗?下面是我的TestAppConfig.xml文件以及我正在使用的生成文件的命令

TestAppConfig.xml 命令创建Resources.pri
非常感谢您对此有任何见解!让我知道,如果我可以提供和进一步的细节

我最终找到了一个解决方案,尽管我很清楚为什么只创建一个Resources.pri文件就需要它。我发现,通过设置所有图像的默认语言,makepri.exe可以将所有图像比例作为资源候选添加到一个Resources.pri文件中。例如,我发现此文件结构有效:

\Assets
    \en-US
        70x70Logo.scale-80.png
        70x70Logo.scale-100.png
        70x70Logo.scale-140.png
        70x70Logo.scale-180.png
        150x150Logo.scale-80.png
        150x150Logo.scale-100.png
        150x150Logo.scale-140.png
        150x150Logo.scale-180.png
我被这段文档所吸引:

注意:我们建议您在字符串资源文件(如en US\resources.resw)上标记默认语言,在图像(如logo.scale-100.png)上标记默认比例,即使这些文件不会本地化,也不会提供多分辨率图像

算了吧


我希望其他人觉得这有帮助。如果有人对makepri.exe为什么会这样工作有更多的见解,我很想知道更多

我刚刚在语言而不是图像中遇到了这个问题,但是从自动生成的makepri config中删除这个块为我修复了它:

<packaging>
    <autoResourcePackage qualifier="Language"/>
    <autoResourcePackage qualifier="Scale"/>
    <autoResourcePackage qualifier="DXFeatureLevel"/>
</packaging>


拥有多个.pri文件有什么影响?有什么事情是你想做却做不到的吗?这是一个好问题@karann。我正试图为一个大型代码库(Mozilla的Firefox)创建这个Resource.pri文件,因此我希望将复杂性和文件大小保持在最低限度。@karann事实证明,我毕竟需要一个Resources.pri文件,因为未命名为“Resources.pri”的文件似乎会被Windows忽略。我用默认语言创建一个文件的变通方法似乎也打破了平铺。如果您感兴趣,可在此链接中查看更多详细信息:
"C:\Program Files (x86)\Windows Kits\10\bin\x86\makepri.exe" new /pr %USERPROFILE%\Documents\CreateResources /cf %USERPROFILE%\Documents\TestAppConfig.xml /in TestApp /of %USERPROFILE%\Documents\CreateResources\Resources.pri
\Assets
    \en-US
        70x70Logo.scale-80.png
        70x70Logo.scale-100.png
        70x70Logo.scale-140.png
        70x70Logo.scale-180.png
        150x150Logo.scale-80.png
        150x150Logo.scale-100.png
        150x150Logo.scale-140.png
        150x150Logo.scale-180.png
<packaging>
    <autoResourcePackage qualifier="Language"/>
    <autoResourcePackage qualifier="Scale"/>
    <autoResourcePackage qualifier="DXFeatureLevel"/>
</packaging>