Manuelles Kompilieren von Ressourcen mit „MakePri.exe“Compile resources manually with MakePri.exe

„MakePri.exe“ ist ein Befehlszeilentool, mit dem Sie PRI-Dateien erstellen und sichern können.MakePri.exe is a command line tool that you can use to create and dump PRI files. 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.It is integrated as part of MSBuild within Microsoft Visual Studio, but it could be useful to you for creating packages manually or with a custom build system.

Hinweis

MakePri.exe wird installiert, wenn Sie bei der Installation des Windows Software Development Kit die Option Windows SDK für verwaltete UWP-apps aktivieren.MakePri.exe is installed when you check the Windows SDK for UWP Managed Apps option while installing the Windows Software Development Kit. Es wird im Pfad installiert %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (sowie in Ordnern, die für die anderen Architekturen benannt sind).It is installed to the path %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (as well as in folders named for the other architectures). Beispiel: C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.For example, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.

In diesem AbschnittIn this section

ThemaTopic BESCHREIBUNGDescription
Befehlszeilenoptionen für „MakePri.exe“MakePri.exe command-line options MakePri.exe verfügt über die Befehle,,, createconfig dump new resourcepack und versioned .MakePri.exe has the set of commands createconfig, dump, new, resourcepack, and versioned. In diesem Thema werden die Befehlszeilenoptionen für ihre Verwendung ausführlich erläutert.This topic details the command-line options for their use.
Konfigurationsdatei für „MakePri.exe“MakePri.exe configuration file In diesem Thema wird das Schema der MakePri.exe XML-Konfigurationsdatei beschrieben.This topic describes the schema of the MakePri.exe XML configuration file.
Formatspezifische Indexer für „MakePri.exe“MakePri.exe format-specific indexers In diesem Thema werden die Format spezifischen Indexer beschrieben, die vom MakePri.exe Tool verwendet werden, um den Index von Ressourcen zu generieren.This topic describes the format-specific indexers used by the MakePri.exe tool to generate its index of resources.

Befehlszeilenoptionen für „MakePri.exe“MakePri.exe command-line options

MakePri.exe verfügt über die Befehle,,, createconfig dump new resourcepack und versioned .MakePri.exe has the set of commands createconfig, dump, new, resourcepack, and versioned. Ausführliche Informationen zu deren Verwendung finden Sie unter MakePri.exe Befehlszeilenoptionen.For details of their use, see MakePri.exe command-line options.

MakePri.exe KonfigurationMakePri.exe configuration

Die PRI-XML-Konfigurationsdatei bestimmt, wie und welche Ressourcen indiziert werden.The PRI XML configuration file dictates how and what resources are indexed. Das Schema der XML-Konfigurationsdatei wird in MakePri.exe Konfigurationbeschrieben.The schema of the configuration XML is described in MakePri.exe configuration.

Format spezifische IndexerFormat-specific indexers

MakePri.exe wird in der Regel mit new den versioned Optionen, und verwendet resourcepack .MakePri.exe is typically used with the new, versioned, and resourcepack options. In diesen Fällen werden Quelldateien indiziert, um einen Index von Ressourcen zu generieren.In those cases it indexes source files to generate an index of resources. MakePri.exe verwendet verschiedene einzelne Indexer, um unterschiedliche Quell Ressourcen Dateien oder Container für Ressourcen zu lesen.MakePri.exe uses various individual indexers to read different source resource files or containers for resources. Der einfachste Indexer ist der ordnerindexer, der den Inhalt eines Ordners für Ressourcen, z .jpg . b. oder Bilder, indiziert .png .The simplest indexer is the folder indexer, which indexes the contents of a folder for resources such as .jpg or .png images. Weitere Informationen finden Sie unter MakePri.exe formatspezifischen Indexer.For more info, see MakePri.exe format-specific indexers.

MakePri.exe von Warnungen und FehlermeldungenMakePri.exe warnings and error messages

Ressourcen für die Sprachen "<Sprache (en) >" gefunden, aber es wurden keine Ressourcen für die Standardsprache (n) gefunden: "<Sprache (n) >".Resources found for language(s) '<language(s)>' but no resources found for default language(s): '<language(s)>'. Ändern Sie die Standardsprache, oder qualifizieren Sie Ressourcen mit der Standardsprache.Change the default language or qualify resources with the default language.

Diese Warnung wird angezeigt, wenn MakePri.exe oder MSBuild Dateien oder Zeichen folgen Ressourcen für eine bestimmte benannte Ressource ermittelt, die anscheinend mit sprach Qualifizierern gekennzeichnet sind, aber für eine Standardsprache keinen Kandidaten gefunden haben.This warning is displayed when MakePri.exe or MSBuild discovers files or string resources for a given named resource that appear to be marked with language qualifiers, but no candidate is found for a default language. Der Prozess für die Verwendung von Qualifizierern in Datei-und Ordnernamen wird unter Anpassen Ihrer Ressourcen für Sprache, Skalierung und andere Qualifiziererbeschrieben.The process for using qualifiers in file and folder names is described in Tailor your resources for language, scale, and other qualifiers. In einer Datei oder einem Ordner ist möglicherweise ein sprach Name enthalten, es werden jedoch keine Ressourcen erkannt, die für die exakte Standardsprache qualifiziert sind.A file or folder may have a language name in it, but no resources are discovered that are qualified for the exact default language. Wenn ein Projekt z. b. "en-US" als Standardsprache verwendet und eine Datei mit dem Namen "de/logo.png" enthält, aber keine Dateien enthält, die mit der Standardsprache "en-US" gekennzeichnet sind, wird diese Warnung angezeigt.For example, if a project uses "en-US" as the default language and has a file named "de/logo.png", but does not have any files that are marked with the default language "en-US", this warning will appear. Um diese Warnung zu entfernen, müssen entweder Dateien oder Zeichen folgen Ressourcen mit der Standardsprache qualifiziert werden, oder die Standardsprache muss geändert werden.In order to remove this warning, either file(s) or string resource(s) should be qualified with the default language, or the default language should be changed. Wenn Sie die Standardsprache ändern möchten, öffnen Sie die Projekt Mappe in Visual Studio, und öffnen Sie Package.appxmanifest .To change the default language, with your solution open in Visual Studio, open Package.appxmanifest. Vergewissern Sie sich auf der Registerkarte Anwendung, dass die Standardsprache entsprechend festgelegt ist (z. b. "en" oder "en-US").On the Application tab, confirm that the Default language is set appropriately (for example, "en" or "en-US").

Für "" wurde keine standardmäßige oder neutrale Ressource angegeben .No default or neutral resource given for ''. Die Anwendung löst möglicherweise eine Ausnahme für bestimmte Benutzerkonfigurationen aus, wenn die Ressourcen abgerufen werden.The application may throw an exception for certain user configurations when retrieving the resources.

Diese Warnung wird angezeigt, wenn MakePri.exe oder MSBuild Dateien oder Ressourcen ermittelt, die mit sprach Qualifizierern gekennzeichnet sind, für die die Ressourcen unklar sind.This warning is displayed when MakePri.exe or MSBuild discovers files or resources that appear to be marked with language qualifiers for which the resources are unclear. Es gibt Qualifizierer, aber es gibt keine Garantie dafür, dass ein bestimmter Ressourcen Kandidat zur Laufzeit für diesen Ressourcen Bezeichner zurückgegeben werden kann.There are qualifiers, but there is no guarantee that a particular resource candidate can be returned for that resource identifier at run time. Wenn kein Ressourcen Kandidat für eine bestimmte Sprache, homeregion oder ein anderer Qualifizierer gefunden werden kann, der ein Standardwert ist oder immer dem Kontext eines Benutzers entspricht, wird diese Warnung angezeigt.If no resource candidate for a particular language, homeregion, or other qualifier can be found that is a default or will always match the context of a user, this warning will be displayed. Zur Laufzeit können für bestimmte Benutzerkonfigurationen, wie z. b. die Spracheinstellungen eines Benutzers oder den Speicherort ( Einstellungen > Zeit & sprach > Region & Sprache ), die APIs, die zum Abrufen der Ressource verwendet werden, eine unerwartete Ausnahme auslösen.At run time, for particular user configurations such as a user's language preferences or home location ( Settings > Time & Language > Region & language ), the APIs used to retrieve the resource may throw an unexpected exception. Um diese Warnung zu entfernen, sollten Standard Ressourcen bereitgestellt werden, z. b. eine Ressource in der Standardsprache des Projekts oder in der Region "Global Home" (homeregion-001).In order to remove this warning, default resources should be provided, such as a resource in the project's default language or global home region (homeregion-001).

Verwenden von MakePri.exe in einem BuildsystemUsing MakePri.exe in a build system

Buildsysteme sollten den MakePri.exe- new ,-oder-Befehl verwenden versioned resourcepack , abhängig vom Projekttyp, der erstellt wird.Build systems should use the MakePri.exe new, versioned, or resourcepack command, depending on the type of project being built. Buildsysteme, die eine neue PRI-Datei erstellen, sollten den new Befehl verwenden.Build systems that create a fresh PRI file should use the new command. Buildsysteme, die die Kompatibilität interner Offsets durch Iterationen sicherstellen müssen, können den- versioned Befehl verwenden.Build systems that must ensure compatibility of internal offsets through iterations can use the versioned command. Buildsysteme, die eine PRI-Datei erstellen müssen, die zusätzliche Varianten von Ressourcen enthält. Überprüfung, um sicherzustellen, dass für diese Variante keine neuen Ressourcen hinzugefügt werden, sollte der Befehl verwendet werden resourcepack .Build systems that must create a PRI file that contains additional variants of resources, with validation to ensure that no new resources are added for that variant, should use the resourcepack command.

Buildsysteme, die eine explizite Kontrolle über Quelldateien erfordern, die indiziert werden, können den resfiles-Indexer verwenden, anstatt einen Ordner zu indizieren.Build systems that require explicit control over source files that get indexed can use the ResFiles indexer instead of indexing a folder. Buildsysteme können auch mehrere Index Übergänge mit unterschiedlichen Format spezifischen indexatoren verwenden, um eine einzelne PRI-Datei zu generieren.Build systems can also use multiple index passes with different format-specific indexers to generate a single PRI file.

Buildsysteme können auch den Format spezifischen PRI-Indexer zum Hinzufügen von vorgefertigten PRI-Dateien zum PRI für das Paket aus anderen Komponenten, z. b. Klassenbibliotheken, Assemblys, sdassemblys und DLLs, verwenden.Build systems can also use the PRI format-specific indexer to add pre-built PRI files into the PRI for the package from other components, such as class libraries, assemblies, SDKs, and DLLs.

Wenn PRI-Dateien für andere Komponenten, Klassenbibliotheken, Assemblys, DLLs und sdken erstellt werden, sollte die initialpath -Konfiguration verwendet werden, um sicherzustellen, dass die Komponenten Ressourcen über eigene unter Ressourcen Zuordnungen verfügen, die nicht mit der app in Konflikt stehen, in der Sie enthalten sind.When PRI files are built for other components, class libraries, assemblies, DLLs, and SDKs, the initialPath configuration should be used to ensure component resources have their own sub resource maps that don't conflict with the app they're included in.