Dela via


Ange de standardresurser som appen använder

Om din app inte har resurser som matchar de specifika inställningarna för en kundenhet används appens standardresurser. Det här avsnittet beskriver hur du anger vilka resurser som är standard.

När en kund installerar din app från Microsoft Store matchas inställningarna på kundens enhet mot appens tillgängliga resurser. Den här matchningen görs så att endast lämpliga resurser behöver laddas ned och installeras för användaren. Till exempel används de lämpligaste strängarna och bilderna för användarens språkinställningar och enhetens upplösning och DPI-inställningar. Är till exempel 200 standardvärdet för scale, men du kan åsidosätta standardvärdet om du vill.

Även för resurser som inte går in i sina egna resurspaket (till exempel bilder som är skräddarsydda för högkontrastinställningar) kan du ange vilka standardresurser som appen ska använda vid körning om en resurs som matchar användarens inställningar inte kan hittas. Är till exempel standard standardvärdet för contrast, men du kan åsidosätta standardvärdet om du vill.

Dessa standardvärden anges i form av standardvärden för resurskvalificerare. För en förklaring av vad resurskvalificerare är, deras användning och syfte, se Skräddarsy dina resurser för språk, skala, högkontrast och andra resurskvalificerare.

Du kan konfigurera vilka dessa standardvärden är på ett av två sätt. Du kan antingen lägga till en konfigurationsfil i projektet eller redigera projektfilen direkt. Använd det av de här alternativen som du är mest bekväm med, eller beroende på vilket som fungerar bäst med ditt byggsystem.

Alternativ 1. Använd priconfig.default.xml för att ange standardvärden för kvalificerare

  1. I Visual Studio lägger du till ett nytt objekt i projektet. Välj XML-fil och ge filen priconfig.default.xmlnamnet .

  2. I Solution Explorer väljer du priconfig.default.xml och markerar fönstret Egenskaper. Filens byggåtgärd ska vara inställd på Ingen och Kopiera till utdatakatalogen ska vara inställd på Kopiera inte.

  3. Ersätt innehållet i filen med den här XML-koden.

    <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>
    

    Not Värdet LANGUAGE-TAG(S) måste synkroniseras med appens standardspråk. Om det är en enda BCP-47-språktagg måste appens standardspråk vara samma tagg. Om det är en kommaavgränsad lista över språktaggar måste appens standardspråk vara den första taggen i listan. Du anger appens standardspråk i fältet Standardspråk på fliken Program i apppaketets manifestkällfil (Package.appxmanifest).

  4. Varje <qualifier> element talar om för Visual Studio vilket värde som ska användas som standard för varje kvalificerarnamn. Med det filinnehåll du har hittills har du inte ändrat Visual Studio-beteendet. Visual Studio fungerade med andra ord redan som om den här filen fanns med detta innehåll, eftersom dessa är standardinställningarna. För att åsidosätta ett standardvärde med ditt eget standardvärde måste du ändra ett värde i filen. Här är ett exempel på hur filen kan se ut om du har redigerat de tre första värdena.

    <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>
    
  5. Spara och stäng filen och återskapa projektet.

Om du vill bekräfta att dina åsidosättningar tas med i beräkningen letar du efter filen <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml och bekräftar att innehållet matchar åsidosättningarna. Om de gör det har du konfigurerat kvalificeringsvärdena för de resurser som appen ska använda som standard. Om en matchning för användarens inställningar inte hittas används resurser vars mapp eller filnamn innehåller standardvärdena för kvalificerare som du har angett här.

Hur fungerar det här?

I bakgrunden startar Visual Studio ett verktyg med namnet MakePri.exe för att generera en fil som kallas ett paketresursindex (PRI), som beskriver alla appens resurser, inklusive att ange vilka som är standardresurserna. Mer information om det här verktyget finns i Kompilera resurser manuellt med MakePri.exe. Visual Studio skickar en konfigurationsfil till MakePri.exe. Innehållet i priconfig.default.xml filen används som element i <default> den konfigurationsfilen, vilket är den del som anger den uppsättning kvalificerarvärden som anses vara standardvärden. Att lägga till och redigera priconfig.default.xml påverkar i slutändan innehållet i paketresursindexfilen som Visual Studio genererar för din app och som ingår i dess apppaket.

Not Varje gång du ändrar värdet för elementet <qualifier name="Language" ... /> måste du synkronisera ändringen med appens standardspråk. Detta gör att språkresurserna som indexeras i appens PRI-fil matchar appens standardspråk för manifest. Värdet i elementet <qualifier name="Language" ... /> åsidosätter värdet i manifestet med avseende på innehållet i <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml, men filen och appens manifest ska matcha.

Använda ett annat filnamn än priconfig.default.xml

Om du namnger filen priconfig.default.xmlkommer Visual Studio att känna igen den och använda den automatiskt. Om du ger det ett annat namn måste du meddela Visual Studio. Lägg till den här XML:en mellan de inledande och avslutande taggarna för det första <PropertyGroup> elementet i projektfilen.

<AppxPriConfigXmlDefaultSnippetPath>FILE-PATH-AND-NAME</AppxPriConfigXmlDefaultSnippetPath>

Ersätt FILE-PATH-AND-NAME med sökvägen till och namnet på filen.

Alternativ 2. Använd projektfilen för att ange standardvärden för kvalificerare

Detta är ett alternativ till alternativ 1. När du förstår hur alternativ 1 fungerar kan du välja att göra alternativ 2 i stället, om det passar din utveckling och/eller skapa arbetsflödet bättre.

Lägg till den här XML:en mellan de inledande och avslutande taggarna för det första <PropertyGroup> elementet i projektfilen.

<AppxDefaultResourceQualifiers>Language=LANGUAGE-TAG(S)|Contrast=standard|Scale=200|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>

Här är ett exempel på hur det kan se ut när du har redigerat de tre första värdena.

<AppxDefaultResourceQualifiers>Language=de-DE|Contrast=black|Scale=400|HomeRegion=001|TargetSize=256|LayoutDirection=LTR|DXFeatureLevel=DX9|Configuration=|AlternateForm=</AppxDefaultResourceQualifiers>

Spara och stäng och återskapa projektet.

Not Varje gång du ändrar Language= värdet måste du synkronisera ändringen med appens standardspråk i manifestdesignern (genom att öppna Package.appxmanifest).