Manuelles Kompilieren von Ressourcen mit „MakePri.exe“
„MakePri.exe“ ist ein Befehlszeilentool, mit dem Sie PRI-Dateien erstellen und sichern können. Es ist über MSBuild in Microsoft Visual Studio integriert, kann aber auch für Entwickler von Nutzen sein, die Pakete manuell oder mithilfe benutzerdefinierter Buildsysteme erstellen.
Hinweis
MakePri.exe ist installiert, wenn Sie die Option Windows SDK für verwaltete UWP-Apps beim Installieren des Windows Software Development Kit markieren. Sie wird auf dem Pfad %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe
installiert (sowie in Ordnern, die für die anderen Architekturen benannt sind). Beispiel: C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe
.
In diesem Abschnitt
Thema | Beschreibung |
---|---|
Befehlszeilenoptionen für „MakePri.exe“ | MakePri.exe hat die Reihe von Befehlen createconfig , dump , new , resourcepack , und versioned . In diesem Thema werden die Befehlszeilenoptionen für ihre Verwendung erläutert. |
Konfigurationsdatei für „MakePri.exe“ | In diesem Thema wird das Schema der MakePri.exe XML-Konfigurationsdatei beschrieben. |
Formatspezifische Indexer für MakePri.exe | In diesem Thema werden die formatspezifischen Indexer beschrieben, die vom MakePri.exe-Tool verwendet werden, um den Index der Ressourcen zu generieren. |
Befehlszeilenoptionen für „MakePri.exe“
MakePri.exe hat die Reihe von Befehlen createconfig
, dump
, new
, resourcepack
, und versioned
. Details zur Verwendung finden Sie unter MakePri.exe Befehlszeilenoptionen.
Konfiguration von MakePri.exe
Die PRI-XML-Konfigurationsdatei bestimmt, wie und welche Ressourcen indiziert werden. Das Schema der Konfigurations-XML wird in MakePri.exe-Konfiguration beschrieben.
Formatspezifische Indexer
MakePri.exe wird in der Regel mit den Optionen new
, versioned
und resourcepack
verwendet. In diesen Fällen werden Quelldateien indiziert, um einen Index von Ressourcen zu generieren. MakePri.exe verwendet verschiedene einzelne Indexer, um verschiedene Quellressourcendateien oder Container für Ressourcen zu lesen. Der einfachste Indexer ist der Ordnerindexer, der den Inhalt eines Ordners indexiert, z.B. .jpg
oder .png
Bilder. Weitere Informationen finden Sie unter MakePri.exe - Formatspezifische Indexierer.
MakePri.exe Warnungen und Fehlermeldungen
Ressourcen für Sprache(n) '<language(s)>' gefunden, aber keine Ressourcen für Standardsprache(n): '<language(s)>' gefunden. Ändern Sie die Standardsprache, oder qualifizieren Sie Ressourcen mit der Standardsprache.
Diese Warnung wird angezeigt, wenn MakePri.exe oder MSBuild für eine bestimmte benannte Ressource Dateien oder Zeichenkettenressourcen entdeckt, die mit Sprachqualifizierern gekennzeichnet zu sein scheinen, aber kein Kandidat für eine Standardsprache gefunden wird. Der Prozess für die Verwendung von Qualifizierern in Datei- und Ordnernamen wird in Anpassung Ihrer Ressourcen für Sprache, Skalierung und andere Qualifizierer beschrieben. Eine Datei oder ein Ordner hat möglicherweise einen Sprachnamen darin, aber es werden keine Ressourcen ermittelt, die für die genaue Standardsprache qualifiziert sind. Wenn ein Projekt beispielsweise „en-US“ als Standardsprache verwendet und eine Datei mit dem Namen „de/logo.png“ enthält, aber keine Dateien hat, die mit der Standardsprache „en-US“ gekennzeichnet sind, wird diese Warnung angezeigt. Um diese Warnung zu entfernen, sollten Sie entweder die Datei(en) oder die Zeichenkettenressource(n) mit der Standardsprache qualifizieren, oder die Standardsprache ändern. Um die Standardsprache zu ändern, öffnen Sie bei geöffneter Projektmappe in Visual Studio Package.appxmanifest
. Vergewissern Sie sich auf der Registerkarte Anwendung, dass die Standardsprache richtig eingestellt ist (zum Beispiel „en“ oder „en-US“).
Für <Ressourcenbezeichner> wird keine Standardressource oder neutrale Ressource angegeben. Die Anwendung löst beim Abrufen der Ressourcen möglicherweise eine Ausnahme für bestimmte Benutzerkonfigurationen aus.
Diese Warnung wird angezeigt, wenn MakePri.exe oder MSBuild Dateien oder Ressourcen entdeckt, die mit Sprachqualifizierern gekennzeichnet zu sein scheinen, für die die Ressourcen unklar sind. Es gibt Qualifizierer, aber es gibt keine Garantie dafür, dass ein bestimmter Ressourcenkandidat zur Laufzeit für diesen Ressourcenbezeichner zurückgegeben werden kann. Wenn kein Ressourcenkandidat für eine bestimmte Sprache, Heimatregion oder einen anderen Qualifizierer gefunden werden kann, der standardmäßig oder immer dem Kontext eines Benutzers entspricht, wird diese Warnung angezeigt. Zur Laufzeit können die APIs, die zum Abrufen der Ressource verwendet werden, für bestimmte Benutzerkonfigurationen, wie z.B. die Spracheinstellungen oder den Heimatort eines Benutzers (Settings>Time & Language>Region & language), eine unerwartete Ausnahme auslösen. Um diese Warnung zu beseitigen, sollten Sie Standardressourcen bereitstellen, z.B. eine Ressource in der Standardsprache des Projekts oder der globalen Heimatregion (homeregion-001).
Verwenden von MakePri.exe in einem Buildsystem
Buildsysteme sollten je nach Typ des zu erstellenden Projekts den MakePri.exe new
, versioned
, oder resourcepack
-Befehl verwenden. Buildsysteme, die eine neue PRI-Datei erstellen, sollten den new
-Befehl verwenden. Buildsysteme, die die Kompatibilität interner Offsets durch Iterationen sicherstellen müssen, können den versioned
-Befehl verwenden. Buildsysteme, die eine PRI-Datei erstellen müssen, die zusätzliche Varianten von Ressourcen, mit Überprüfung enthält, um sicherzustellen, dass für diese Variante keine neuen Ressourcen hinzugefügt werden, sollte den resourcepack
-Befehl verwenden.
Buildsysteme, die explizite Kontrolle über Quelldateien erfordern, die indiziert werden, können den ResFiles-Indexer anstelle der Indizierung eines Ordners verwenden. Buildsysteme können auch mehrere Indexdurchläufe mit unterschiedlichen formatspezifischen Indexern verwenden, um eine einzelne PRI-Datei zu generieren.
Buildsysteme können auch den PRI-formatspezifischen Indexer verwenden, um vordefinierte PRI-Dateien aus anderen Komponenten wie Klassenbibliotheken, Assemblys, SDKs und DLLs in das PRI für das Paket hinzuzufügen.
Wenn PRI-Dateien für andere Komponenten, Klassenbibliotheken, Assemblys, DLLs und SDKs erstellt werden, sollte die InitialPath-Konfiguration verwendet werden, um sicherzustellen, dass Komponentenressourcen über eigene Sub-Ressourcenzuordnungen verfügen, die nicht mit der App in Konflikt stehen, in der sie enthalten sind.