Partager via


Compiler des ressources manuellement avec MakePri.exe

MakePri.exe est un outil en ligne de commande que vous pouvez utiliser pour créer et vider des fichiers IRP. Il est intégré en tant qu’élément de MSBuild dans Microsoft Visual Studio, mais il peut aussi être utilisé pour la création de packages manuellement ou avec un système de génération personnalisé.

Remarque

MakePri.exe est installé lorsque vous case activée l’option Kit de développement logiciel (SDK) Windows pour les applications gérées UWP lors de l’installation du Kit de développement logiciel Windows. Il est installé sur le chemin d’accès %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (ainsi que dans les dossiers nommés pour les autres architectures). Par exemple : C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.

Contenu de cette section

Sujet Description
Options de ligne de commande de MakePri.exe MakePri.exe a l’ensemble de commandes createconfig, dump, new, resourcepack et versioned. Cette rubrique détaille les options de ligne de commande pour leur utilisation.
Fichier de configuration MakePri.exe Cette rubrique décrit le schéma du fichier de configuration XML MakePri.exe.
Indexeurs spécifiques au format de MakePri.exe Cette rubrique décrit les indexeurs spécifiques au format utilisés par l’outil MakePri.exe pour générer son index de ressources.

Options de ligne de commande de MakePri.exe

MakePri.exe a l’ensemble de commandes createconfig, dump, new, resourcepack et versioned. Pour plus d’informations sur leur utilisation, consultez les options de ligne de commande MakePri.exe.

Fichier de configuration MakePri.exe

Le fichier de configuration IRP XML détermine comment et quelles ressources sont indexées. Le schéma du code XML de configuration est décrit dans la configuration MakePri.exe.

Indexeurs spécifiques au format

MakePri.exe est généralement utilisé avec les commandes new, versioned ou resourcepack. Dans ce cas, il indexe les fichiers sources pour générer un index de ressources. MakePri.exe utilise différents indexeurs individuels pour lire différents fichiers de ressources sources ou conteneurs pour les ressources. L’indexeur le plus simple est l’indexeur de dossiers, qui indexe le contenu d’un dossier, par exemple .jpg ou des images.png. Pour plus d’informations, consultez Spécifications de format.

Avertissements et messages d’erreur

Ressources trouvées pour la ou les langues « <langue(s)> », mais aucune ressource n’est trouvée pour la ou les langues par défaut : « <langue(s)> ». Modifiez la langue par défaut ou qualifiez les ressources avec la langue par défaut.

Cet avertissement s’affiche lorsque MakePri.exe ou MSBuild découvre des fichiers ou des ressources de chaîne pour une ressource nommée donnée qui semble être marquée avec des qualificateurs de langue, mais aucun candidat n’est trouvé pour une langue par défaut. Le processus d’utilisation de qualificateurs dans les noms de fichiers et de dossiers est décrit dans Personnaliser vos ressources pour la langue, l’échelle et d’autres qualificateurs. Un fichier ou un dossier peut avoir un nom de langue dans celui-ci, mais aucune ressource n’est découverte qui sont qualifiées pour la langue par défaut exacte. Par exemple, si un projet utilise « en-US » comme langue par défaut et a un fichier nommé « de/logo.png », mais n’a pas de fichiers marqués avec la langue par défaut « en-US », cet avertissement s’affiche. Pour supprimer cet avertissement, le ou les fichiers ou les ressources de chaîne doivent être qualifiés avec la langue par défaut, ou la langue par défaut doit être modifiée. Pour modifier la langue par défaut, avec votre solution ouverte dans Visual Studio, ouvrez Package.appxmanifest. Sous l’onglet Application, vérifiez que la langue par défaut est définie de manière appropriée (par exemple, « en » ou « en-US »).

Aucune ressource par défaut ou neutre n’est donnée pour « <identificateur de ressource> ». L’application peut lever une exception pour certaines configurations utilisateur lors de la récupération des ressources.

Cet avertissement s’affiche lorsque MakePri.exe ou MSBuild découvre des fichiers ou des ressources qui semblent être marqués avec des qualificateurs de langue pour lesquels les ressources ne sont pas claires. Il existe des qualificateurs, mais il n’existe aucune garantie qu’un candidat de ressource particulier peut être retourné pour cet identificateur de ressource au moment de l’exécution. Si aucun candidat de ressource pour une langue particulière, une région d’origine ou un autre qualificateur est trouvé par défaut ou correspond toujours au contexte d’un utilisateur, cet avertissement s’affiche. Au moment de l’exécution, pour des configurations utilisateur particulières telles que les préférences linguistiques ou l’emplacement de domicile d’un utilisateur (Paramètres>Heure et langue>Région et langue), les API utilisées pour récupérer la ressource peuvent lever une exception inattendue. Pour supprimer cet avertissement, les ressources par défaut doivent être fournies, telles qu’une ressource dans la langue par défaut du projet ou la région d’accueil globale (homeregion-001).

Utilisation de MakePri.exe dans un système de génération

Les systèmes de construction doivent utiliser la commande MakePri.exe new, versioned, ou resourcepack, selon le type de projet généré. Les systèmes de génération qui créent un nouveau fichier IRP doivent utiliser la commande new. Créez des systèmes qui doivent garantir la compatibilité des décalages internes par le biais d’itérations peuvent utiliser la commande versioned. Créez des systèmes qui doivent créer un fichier IRP qui contient des variantes supplémentaires de ressources, avec validation pour vous assurer qu’aucune nouvelle ressource n’est ajoutée pour cette variante, doit utiliser la commande resourcepack.

Créez des systèmes qui nécessitent un contrôle explicite sur les fichiers sources qui sont indexés peuvent utiliser l’indexeur ResFiles au lieu d’indexer un dossier. Les systèmes de génération peuvent également utiliser plusieurs passes d’index avec différents indexeurs spécifiques au format pour générer un seul fichier IRP.

Les systèmes de génération peuvent également utiliser l’indexeur spécifique au format IRP pour ajouter des fichiers IRP prédéfinis au package à partir d’autres composants, tels que les bibliothèques de classes, les assemblages, les Kits de développement logiciel (SDK) et les DLL prédéfinis.

Lorsque les fichiers IRP sont générés pour d’autres composants, bibliothèques de classes, assemblages, DLL et Kits de développement logiciel (SDK), la configuration initialPath doit être utilisée pour s’assurer que les ressources de composant ont leurs propres mappages de sous-ressources qui ne sont pas en conflit avec l’application dans laquelle ils sont inclus.