Компиляция ресурсов вручную с помощью MakePri.exe

MakePri.exe — программа командной строки, которую можно использовать для создания и наполнения PRI-файлов. Она интегрирована как часть MSBuild в Microsoft Visual Studio, но разработчики могут использовать ее для создания пакетов вручную или с помощью пользовательских систем сборки.

Примечание.

MakePri.exe устанавливается при проверка параметре Windows SDK для управляемых приложений UWP при установке пакета средств разработки программного обеспечения Windows. Он устанавливается в путь %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (а также в папках с именем для других архитектур). Например, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.

В этом разделе

Раздел Описание
Параметры командной строки MakePri.exe MakePri.exe содержит набор команд createconfig, , dump, newи resourcepackversioned. В этом разделе описаны параметры командной строки для их использования.
Файл конфигурации MakePri.exe В этом разделе описывается схема XML-файла конфигурации MakePri.exe.
Индексаторы формата MakePri.exe В этом разделе описываются индексаторы, относящиеся к формату, используемые средством MakePri.exe для создания индекса ресурсов.

Параметры командной строки MakePri.exe

MakePri.exe содержит набор команд createconfig, , dump, newи resourcepackversioned. Дополнительные сведения об их использовании см. в разделе "Параметры командной строки MakePri.exe".

Конфигурация MakePri.exe

Файл конфигурации PRI XML определяет, как и какие ресурсы индексируются. Схема XML конфигурации описана в конфигурации MakePri.exe.

Индексаторы, относящиеся к формату

MakePri.exe обычно используется с параметрами и resourcepack параметрами.newversioned В этих случаях он индексирует исходные файлы для создания индекса ресурсов. MakePri.exe использует различные отдельные индексаторы для чтения различных исходных файлов ресурсов или контейнеров для ресурсов. Самый простой индексатор — индексатор папок, который индексирует содержимое папки для таких ресурсов, как .jpg или .png изображения. Дополнительные сведения см. в статье Индексаторы, относящиеся к формату MakePri.exe.

Предупреждения и сообщения об ошибках MakePri.exe

Ресурсы, найденные для языков "<языков>", но не найдены ресурсы для языков по умолчанию: "<язык(s)>". Измените язык по умолчанию или квалифицируйте ресурсы с помощью языка по умолчанию.

Это предупреждение отображается, когда MakePri.exe или MSBuild обнаруживает файлы или строковые ресурсы для заданного именованного ресурса, который, как представляется, помечен квалификаторами языка, но кандидат не найден для языка по умолчанию. Процесс использования квалификаторов в именах файлов и папок описан в разделе "Настройка ресурсов для языка, масштабирования и других квалификаторов". В файле или папке может быть имя языка, но ресурсы не обнаруживаются для точного языка по умолчанию. Например, если проект использует en-US в качестве языка по умолчанию и имеет файл с именем de/logo.png, но не содержит файлов, помеченных языком по умолчанию "en-US", это предупреждение появится. Чтобы удалить это предупреждение, файлы или строковые ресурсы должны быть квалифицированы с использованием языка по умолчанию или языка по умолчанию. Чтобы изменить язык по умолчанию, откройте решение в Visual Studio Package.appxmanifest. На вкладке "Приложение" убедитесь, что язык по умолчанию задан соответствующим образом (например, en или en-US).

Для идентификатора< ресурса> по умолчанию или нейтрального ресурса не задано. Приложение может вызвать исключение для определенных конфигураций пользователей при получении ресурсов.

Это предупреждение отображается, когда MakePri.exe или MSBuild обнаруживает файлы или ресурсы, которые, как представляется, помечены квалификаторами языка, для которых ресурсы неясны. Есть квалификаторы, но нет никаких гарантий того, что конкретный кандидат ресурсов может быть возвращен для этого идентификатора ресурса во время выполнения. Если ни один кандидат на ресурс для определенного языка, домашнего региона или другого квалификатора не найден, что по умолчанию или всегда будет соответствовать контексту пользователя, это предупреждение будет отображаться. Во время выполнения для определенных конфигураций пользователей, таких как языковые настройки пользователя или домашнее расположение (Параметры> Time и>языковой регион и язык), API, используемые для извлечения ресурса, могут вызвать неожиданное исключение. Чтобы удалить это предупреждение, необходимо предоставить ресурсы по умолчанию, например ресурс на языке по умолчанию проекта или глобальном домашнем регионе (homeregion-001).

Использование MakePri.exe в системе сборки

Системы сборки должны использовать файл MakePri.exe newversionedили resourcepack команду в зависимости от типа создаваемого проекта. Создайте системы, создающие новый файл PRI, должны использовать new команду. Создание систем, которые должны обеспечить совместимость внутренних смещения через итерации, могут использовать versioned команду. Создавайте системы, которые должны создавать PRI-файл, содержащий дополнительные варианты ресурсов, с проверкой, чтобы не добавлять новые ресурсы для этого варианта, следует использовать resourcepack команду.

Системы сборки, требующие явного контроля над исходными файлами, которые индексируются, могут использовать индексатор ResFiles вместо индексации папки. Системы сборки также могут использовать несколько проходов индекса с различными индексаторами формата для создания одного файла PRI.

Системы сборки также могут использовать индексатор формата PRI для добавления предварительно созданных файлов PRI в пакет из других компонентов, таких как библиотеки классов, сборки, пакеты SDK и библиотеки DLL.

Когда файлы PRI создаются для других компонентов, библиотек классов, сборок, библиотек DLL и пакетов SDK, следует использовать конфигурацию initialPath для обеспечения собственных карт вложенных ресурсов, которые не конфликтуют с приложением, включаемого в него.