Share via


Angeben der von der App verwendeten Standardressourcen

Wenn Ihre App nicht über Ressourcen verfügt, die den speziellen Einstellungen eines Kundengeräts entsprechen, werden die Standardressourcen der App verwendet. In diesem Thema wird erläutert, wie Sie diese Standardressourcen festlegen.

Wenn ein Kunde Ihre App aus dem Microsoft Store installiert, werden die Einstellungen auf dem Gerät des Kunden mit den verfügbaren Ressourcen der App abgeglichen. Dieser Abgleich erfolgt, sodass nur die entsprechenden Ressourcen heruntergeladen und für diesen Benutzer installiert werden müssen. Beispielsweise werden die am besten geeigneten Zeichenfolgen und Bilder für die Spracheinstellungen des Benutzers sowie die Auflösungs- und DPI-Einstellungen des Geräts verwendet. Beispielsweise 200 ist der Standardwert für scale, aber Sie können diesen Standardwert überschreiben, wenn Sie möchten.

Auch für Ressourcen, die nicht in ihre eigenen Ressourcenpakete integriert werden (z. B. Bilder, die auf Einstellungen mit hohem Kontrast zugeschnitten sind), können Sie angeben, welche Standardressourcen die App zur Laufzeit verwenden soll, wenn eine Ressource, die den Einstellungen des Benutzers entspricht, nicht gefunden werden kann. Beispielsweise standard ist der Standardwert für contrast, aber Sie können diesen Standardwert überschreiben, wenn Sie möchten.

Diese Standardwerte werden in Form von Standardressourcenqualifizierern angegeben. Eine Erläuterung der Ressourcenqualifizierer, ihrer Verwendung und ihres Zwecks finden Sie unter Anpassen Ihrer Ressourcen für Sprache, Skalierung, hohen Kontrast und andere Qualifizierer.

Sie können diese Standardwerte auf zwei Arten konfigurieren. Sie können Ihrem Projekt entweder eine Konfigurationsdatei hinzufügen oder Ihre Projektdatei direkt bearbeiten. Verwenden Sie die Optionen, mit denen Sie am besten vertraut sind oder welche am besten mit Ihrem Buildsystem funktioniert.

Option 1. Verwenden von priconfig.default.xml zum Angeben von Standardqualifizierern

  1. Fügen Sie Ihrem Projekt in Visual Studio ein neues Element hinzu. Wählen Sie XML-Datei aus, und nennen Sie die Datei priconfig.default.xml.

  2. Wählen Sie in Projektmappen-Explorer die Eigenschaftenfenster auspriconfig.default.xml, und überprüfen Sie es. Die Buildaktion der Datei sollte auf Keine festgelegt werden, und In Ausgabeverzeichnis kopieren sollte auf Nicht kopieren festgelegt werden.

  3. Ersetzen Sie den Inhalt der Datei durch diesen XML-Code.

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

    Hinweis Der Wert LANGUAGE-TAG(S) muss mit der Standardsprache Ihrer App synchronisiert werden. Wenn es sich um ein einzelnes BCP-47-Sprachtag handelt, muss die Standardsprache Ihrer App dasselbe Tag sein. Wenn es sich um eine durch Trennzeichen getrennte Liste von Sprachtags handelt, muss die Standardsprache Ihrer App das erste Tag in der Liste sein. Sie legen die Standardsprache Ihrer App im Feld Standardsprache auf der Registerkarte Anwendung in der Quelldatei des App-Paketmanifests (Package.appxmanifest) fest.

  4. Jedes <qualifier> Element teilt Visual Studio mit, welcher Wert als Standard für jeden Qualifizierernamen verwendet werden soll. Mit den Dateiinhalten, die Sie bisher haben, haben Sie das Verhalten von Visual Studio nicht wirklich geändert. Mit anderen Worten, Visual Studio hat sich bereits so verhalten, als ob diese Datei mit diesen Inhalten vorhanden wäre, da dies die Standardeinstellungen sind. Um also einen Standardwert mit Ihrem eigenen Standardwert außer Kraft zu setzen, müssen Sie einen Wert in der Datei ändern. Hier sehen Sie ein Beispiel dafür, wie die Datei aussehen könnte, wenn Sie die ersten drei Werte bearbeitet haben.

    <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. Speichern und schließen Sie die Datei, und erstellen Sie Ihr Projekt neu.

Um zu bestätigen, dass Ihre überschriebenen Standardwerte berücksichtigt werden, suchen Sie nach der Datei <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml , und vergewissern Sie sich, dass ihr Inhalt mit Ihren Außerkraftsetzungen übereinstimmt. Wenn ja, haben Sie die Qualifiziererwerte der Ressourcen, die Ihre App standardmäßig verwendet, erfolgreich konfiguriert. Wenn keine Übereinstimmung für die Einstellungen des Benutzers gefunden wird, werden Ressourcen verwendet, deren Ordner- oder Dateinamen die hier festgelegten Standardqualifizierwerte enthalten.

Wie funktioniert das?

Im Hintergrund startet Visual Studio ein Tool mit dem Namen MakePri.exe zum Generieren einer Datei, die als Paketressourcenindex (PRI) bezeichnet wird und alle Ressourcen Ihrer App beschreibt, einschließlich der Angabe der Standardressourcen. Ausführliche Informationen zu diesem Tool finden Sie unter Manuelles Kompilieren von Ressourcen mit MakePri.exe. Visual Studio übergibt eine Konfigurationsdatei an MakePri.exe. Der Inhalt Ihrer priconfig.default.xml Datei wird als <default> Element dieser Konfigurationsdatei verwendet. Dies ist der Teil, der den Satz der Qualifiziererwerte angibt, die als Standard gelten. Das Hinzufügen und Bearbeiten priconfig.default.xml wirkt sich also letztendlich auf den Inhalt der Paketressourcenindexdatei aus, die Visual Studio für Ihre App generiert und in das App-Paket einschließt.

Hinweis Wenn Sie den Wert des <qualifier name="Language" ... /> Elements ändern, müssen Sie diese Änderung mit der Standardsprache Ihrer App synchronisieren. Dies ist so, dass die in der PRI-Datei Ihrer App indizierten Sprachressourcen der Manifeststandardsprache Ihrer App entsprechen. Der Wert im <qualifier name="Language" ... /> -Element überschreibt den Wert im Manifest in Bezug auf den Inhalt von <ProjectFolder>\obj\<ReleaseConfiguration folder>\priconfig.xml, aber diese Datei und das Manifest Ihrer App sollten übereinstimmen.

Verwenden eines anderen Dateinamens als priconfig.default.xml

Wenn Sie Ihrer Datei priconfig.default.xmleinen Namen geben, erkennt Visual Studio sie und verwendet sie automatisch. Wenn Sie ihr einen anderen Namen geben, müssen Sie Visual Studio darüber informieren. Fügen Sie in Ihrer Projektdatei zwischen den öffnenden und schließenden Tags des ersten <PropertyGroup> Elements diesen XML-Code hinzu.

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

Ersetzen Sie FILE-PATH-AND-NAME durch den Pfad und den Namen Ihrer Datei.

Option 2. Verwenden Ihrer Projektdatei zum Angeben von Standardqualifizierernwerten

Dies ist eine Alternative zu Option 1. Sobald Sie wissen, wie Option 1 funktioniert, können Sie stattdessen Option 2 ausführen, wenn dies ihrem Entwicklungs- und/oder Buildworkflow besser entspricht.

Fügen Sie in Ihrer Projektdatei zwischen den öffnenden und schließenden Tags des ersten <PropertyGroup> Elements diesen XML-Code hinzu.

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

Hier sehen Sie ein Beispiel dafür, wie dies aussehen könnte, nachdem Sie die ersten drei Werte bearbeitet haben.

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

Speichern und schließen Sie Ihr Projekt und erstellen Sie es neu.

Hinweis Jedes Mal, wenn Sie den Language= Wert ändern, müssen Sie diese Änderung mit der Standardsprache Ihrer App im Manifest-Designer synchronisieren (indem Sie öffnen Package.appxmanifest).