Компиляция ресурсов вручную с помощью 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 resourcepack и versioned . В этом разделе описаны параметры командной строки для их использования. |
файл конфигурации MakePri.exe | В этом разделе описывается схема файла конфигурации MakePri.exe XML. |
индексаторы MakePri.exe формата | В этом разделе описываются индексаторы формата, используемые средством MakePri.exe для создания индекса ресурсов. |
Параметры командной строки MakePri.exe
MakePri.exe содержит набор командcreateconfig
, , dump
, new
resourcepack
и versioned
. Дополнительные сведения об их использовании см. в MakePri.exe параметрах командной строки.
конфигурация MakePri.exe
Файл конфигурации PRI XML определяет, как и какие ресурсы индексируются. Схема XML конфигурации описана в MakePri.exe конфигурации.
Индексаторы, относящиеся к формату
MakePri.exe обычно используется с параметрами и параметрамиnew
versioned
.resourcepack
В этих случаях он индексирует исходные файлы для создания индекса ресурсов. 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 обнаруживает файлы или ресурсы, которые, как представляется, помечены квалификаторами языка, для которых ресурсы неясны. Есть квалификаторы, но нет никаких гарантий того, что конкретный кандидат ресурсов может быть возвращен для этого идентификатора ресурса во время выполнения. Если ни один кандидат на ресурс для определенного языка, домашнего региона или другого квалификатора не найден, что по умолчанию или всегда будет соответствовать контексту пользователя, это предупреждение будет отображаться. Во время выполнения для определенных конфигураций пользователей, таких как языковые предпочтения пользователя или домашнее расположение (>время и>язык параметров), API, используемые для получения ресурса, могут вызвать неожиданное исключение. Чтобы удалить это предупреждение, необходимо предоставить ресурсы по умолчанию, например ресурс на языке по умолчанию проекта или глобальном домашнем регионе (homeregion-001).
Использование MakePri.exe в системе сборки
Системы сборки должны использовать MakePri.exe new
versioned
или resourcepack
команду в зависимости от типа создаваемого проекта. Создайте системы, создающие новый файл PRI, должны использовать new
команду. Создание систем, которые должны обеспечить совместимость внутренних смещения через итерации, могут использовать versioned
команду. Создавайте системы, которые должны создавать PRI-файл, содержащий дополнительные варианты ресурсов, с проверкой, чтобы не добавлять новые ресурсы для этого варианта, следует использовать resourcepack
команду.
Системы сборки, требующие явного контроля над исходными файлами, которые индексируются, могут использовать индексатор ResFiles вместо индексации папки. Системы сборки также могут использовать несколько проходов индекса с различными индексаторами формата для создания одного файла PRI.
Системы сборки также могут использовать индексатор формата PRI для добавления предварительно созданных файлов PRI в пакет из других компонентов, таких как библиотеки классов, сборки, пакеты SDK и библиотеки DLL.
Когда файлы PRI создаются для других компонентов, библиотек классов, сборок, библиотек DLL и пакетов SDK, следует использовать конфигурацию initialPath для обеспечения собственных карт вложенных ресурсов, которые не конфликтуют с приложением, включаемого в него.