Préciser les ressources par défaut que votre application utilise
Si votre application n’a pas les ressources qui correspondent aux paramètres particuliers d’un appareil client, les ressources de l’application par défaut sont utilisées. Cette rubrique explique comment spécifier ce que sont ces ressources par défaut.
Lorsqu’un client installe votre application à partir du Microsoft Store, les paramètres de l’appareil du client sont mis en correspondance avec les ressources disponibles de l’application. Cette correspondance est effectuée afin que seules les ressources appropriées doivent être téléchargées et installées pour cet utilisateur. Par exemple, les chaînes et images les plus appropriées pour les préférences linguistiques de l’utilisateur, ainsi que les paramètres de résolution et DPI de l’appareil, sont utilisés. Par exemple, 200
est la valeur par défaut pour scale
, mais vous pouvez remplacer cette valeur par défaut si vous le souhaitez.
Même pour les ressources qui n’entrent pas dans leurs propres packs de ressources (par exemple, les images adaptées aux paramètres à contraste élevé), vous pouvez spécifier les ressources par défaut que l’application doit utiliser au moment de l’exécution si une ressource qui correspond aux paramètres de l’utilisateur est introuvable. Par exemple, standard
est la valeur par défaut pour contrast
, mais vous pouvez remplacer cette valeur par défaut si vous le souhaitez.
Ces valeurs par défaut sont spécifiées sous la forme de valeurs de qualificateur de ressource par défaut. Pour obtenir une explication des qualificateurs de ressources, leur utilisation et leur objectif, consultez Personnaliser vos ressources pour la langue, l’échelle, le contraste élevé et d’autres qualificateurs.
Vous pouvez configurer ces valeurs par défaut de deux manières. Vous pouvez ajouter un fichier de configuration à votre projet ou modifier directement votre fichier projet. Utilisez l’une de ces options avec lesquelles vous êtes le plus à l’aise, ou celle qui fonctionne le mieux avec votre système de génération.
Option 1. Utilisez priconfig.default.xml pour spécifier les valeurs de qualificateur par défaut
Dans Visual Studio, ajoutez un nouvel élément à votre projet. Choisissez fichier XML et nommez le fichier
priconfig.default.xml
.Dans Explorateur de solutions, sélectionnez
priconfig.default.xml
et cochez la Fenêtre Propriétés. L’action de génération du fichier doit être définie sur None, et copier dans le répertoire de sortie doit être défini sur Ne pas copier.Remplacez le contenu du fichier par ce code XML.
<default> <qualifier name="Language" value="LANGUAGE-TAG(S)" /> <qualifier name="Contrast" value="standard" /> <qualifier name="Scale" value="200" /> <qualifier name="HomeRegion" value="001" /> <qualifier name="TargetSize" value="256" /> <qualifier name="LayoutDirection" value="LTR" /> <qualifier name="DXFeatureLevel" value="DX9" /> <qualifier name="Configuration" value="" /> <qualifier name="AlternateForm" value="" /> </default>
Notez que la valeur
LANGUAGE-TAG(S)
doit être synchronisée avec la langue par défaut de votre application. S’il s’agit d’une seule balise de langue BCP-47, la langue par défaut de votre application doit être la même balise. S’il s’agit d’une liste séparée par des virgules de balises de langue, la langue par défaut de votre application doit être la première balise de la liste. Vous définissez la langue par défaut de votre application dans le champ Langue par défaut sous l’onglet Application dans le fichier source du manifeste du package d’application (Package.appxmanifest
).Chaque
<qualifier>
élément indique à Visual Studio quelle valeur utiliser comme valeur par défaut pour chaque nom de qualificateur. Avec le contenu du fichier que vous avez jusqu’à présent, vous n’avez pas réellement modifié le comportement de Visual Studio. En d’autres termes, Visual Studio se comporte déjà comme si ce fichier était présent avec ces contenus, car il s’agit des valeurs par défaut. Par conséquent, pour remplacer une valeur par défaut par votre propre valeur par défaut, vous devez modifier une valeur dans le fichier. Voici un exemple de la façon dont le fichier peut ressembler si vous avez modifié les trois premières valeurs.<default> <qualifier name="Language" value="de-DE" /> <qualifier name="Contrast" value="black" /> <qualifier name="Scale" value="400" /> <qualifier name="HomeRegion" value="001" /> <qualifier name="TargetSize" value="256" /> <qualifier name="LayoutDirection" value="LTR" /> <qualifier name="DXFeatureLevel" value="DX9" /> <qualifier name="Configuration" value="" /> <qualifier name="AlternateForm" value="" /> </default>
Enregistrez et fermez le fichier et régénérez votre projet.
Pour vérifier que vos valeurs par défaut substituées sont prises en compte, recherchez le fichier <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml
et vérifiez que son contenu correspond à vos remplacements. Si c’est le cas, vous avez correctement configuré les valeurs de qualificateur des ressources que votre application utilisera par défaut. Si une correspondance pour les paramètres de l’utilisateur est introuvable, les ressources sont utilisées dont les noms de dossiers ou de fichiers contiennent les valeurs qualifer par défaut que vous avez définies ici.
Comment cela fonctionne ?
En arrière-plan, Visual Studio lance un outil nommé MakePri.exe
pour générer un fichier appelé PRI (Package Resource Index), qui décrit toutes les ressources de votre application, y compris les ressources par défaut. Pour plus d’informations sur cet outil, consultez Compiler les ressources manuellement avec MakePri.exe. Visual Studio transmet un fichier de configuration à MakePri.exe
. Le contenu de votre priconfig.default.xml
fichier est utilisé comme <default>
élément de ce fichier de configuration, qui est la partie qui spécifie l’ensemble de valeurs de qualificateur considérées comme par défaut. Par conséquent, l’ajout et la modification priconfig.default.xml
influencent finalement le contenu du fichier d’index de ressource de package que Visual Studio génère pour votre application et inclut dans son package d’application.
Notez que chaque fois que vous modifiez la valeur de l’élément <qualifier name="Language" ... />
, vous devez synchroniser cette modification avec la langue par défaut de votre application. C’est pourquoi les ressources linguistiques indexées dans le fichier PRI de votre application correspondent à la langue par défaut du manifeste de votre application. La valeur de l’élément <qualifier name="Language" ... />
remplace la valeur dans le manifeste par rapport au contenu de <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml
, mais ce fichier et le manifeste de votre application doivent correspondre.
Utilisation d’un nom de fichier différent de celui de priconfig.default.xml
Si vous nommez votre fichier priconfig.default.xml
, Visual Studio le reconnaît et l’utilise automatiquement. Si vous lui donnez un autre nom, vous devez informer Visual Studio. Dans votre fichier projet, entre les balises d’ouverture et de fermeture du premier <PropertyGroup>
élément, ajoutez ce code XML.
<AppxPriConfigXmlDefaultSnippetPath>FILE-PATH-AND-NAME</AppxPriConfigXmlDefaultSnippetPath>
Remplacez FILE-PATH-AND-NAME
par le chemin d’accès et le nom de votre fichier.
Option 2. Utiliser votre fichier projet pour spécifier les valeurs de qualificateur par défaut
Il s’agit d’une alternative à l’option 1. Une fois que vous avez compris le fonctionnement de l’option 1, vous pouvez choisir d’effectuer l’option 2 à la place, si cela convient mieux à votre flux de travail de développement et/ou de génération.
Dans votre fichier projet, entre les balises d’ouverture et de fermeture du premier <PropertyGroup>
élément, ajoutez ce code XML.
<AppxDefaultResourceQualifiers>Language=LANGUAGE-TAG(S)|Contrast=standard|Scale=200|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>
Voici un exemple de la façon dont cela peut être pris en compte après avoir modifié les trois premières valeurs.
<AppxDefaultResourceQualifiers>Language=de-DE|Contrast=black|Scale=400|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>
Enregistrez et fermez et régénérez votre projet.
Notez que chaque fois que vous modifiez la Language=
valeur, vous devez synchroniser cette modification avec la langue par défaut de votre application dans le concepteur de manifeste (en ouvrant Package.appxmanifest
).