Compilar recursos manualmente com o MakePri.exeCompile resources manually with MakePri.exe

O MakePri.exe é uma ferramenta de linha de comando que você pode usar para criar e despejar arquivos PRI.MakePri.exe is a command line tool that you can use to create and dump PRI files. Ele é integrado como parte do MSBuild no Microsoft Visual Studio, mas pode ser útil para criar pacotes manualmente ou com um sistema de build personalizado.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.

Observação

O MakePri.exe é instalado quando você verifica a opção SDK do Windows para aplicativos gerenciados UWP ao instalar o Software Development Kit do Windows.MakePri.exe is installed when you check the Windows SDK for UWP Managed Apps option while installing the Windows Software Development Kit. Ele é instalado no caminho %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (bem como em pastas chamadas para outras arquiteturas).It is installed to the path %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (as well as in folders named for the other architectures). Por exemplo, 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.

Nesta seçãoIn this section

TópicoTopic DescriçãoDescription
Opções de linha de comando do MakePri.exeMakePri.exe command-line options O MakePri.exe tem o conjunto de comandos createconfig, dump, new, resourcepack e versioned.MakePri.exe has the set of commands createconfig, dump, new, resourcepack, and versioned. Este tópico descreve detalhadamente as opções de linha de comando para seu uso.This topic details the command-line options for their use.
Arquivo de configuração MakePri.exeMakePri.exe configuration file Este tópico descreve o esquema do arquivo de configuração XML MakePri.exe.This topic describes the schema of the MakePri.exe XML configuration file.
Indexadores específicos de formato do MakePri.exeMakePri.exe format-specific indexers Este tópico descreve os indexadores específicos de formato usados pela ferramenta MakePri.exe para gerar seu índice de recursos.This topic describes the format-specific indexers used by the MakePri.exe tool to generate its index of resources.

Opções de linha de comando do MakePri.exeMakePri.exe command-line options

O MakePri.exe tem o conjunto de comandos createconfig, dump, new, resourcepack e versioned.MakePri.exe has the set of commands createconfig, dump, new, resourcepack, and versioned. Para ver os detalhes sobre seu uso, consulte Opções de linha de comando do MakePri.exe.For details of their use, see MakePri.exe command-line options.

Configuração do MakePri.exeMakePri.exe configuration

O arquivo de configuração XML PRI determina como e quais recursos são indexados.The PRI XML configuration file dictates how and what resources are indexed. O esquema do XML de configuração é descrito em Configuração do MakePri.exe.The schema of the configuration XML is described in MakePri.exe configuration.

Indexadores específicos do formatoFormat-specific indexers

O MakePri.exe é normalmente usado com as opções new, versioned e resourcepack.MakePri.exe is typically used with the new, versioned, and resourcepack options. Nesses casos, ele indexa os arquivos de origem para gerar um índice de recursos.In those cases it indexes source files to generate an index of resources. O MakePri.exe usa vários indexadores individuais para ler diferentes arquivos de recurso de origem ou contêineres de recursos.MakePri.exe uses various individual indexers to read different source resource files or containers for resources. O indexador mais simples é o indexador de pasta, que indexa o conteúdo de uma pasta para recursos como imagens .jpg ou .png.The simplest indexer is the folder indexer, which indexes the contents of a folder for resources such as .jpg or .png images. Para obter mais informações, consulte Indexadores específicos de formato do MakePri.exe.For more info, see MakePri.exe format-specific indexers.

Mensagens de erro e de aviso do MakePri.exeMakePri.exe warnings and error messages

Os recursos encontrados para os idiomas ' <idioma (s) > ', mas não foram encontrados recursos para os idiomas padrão: ' <idioma (s) > '.Resources found for language(s) '<language(s)>' but no resources found for default language(s): '<language(s)>'. Altere o idioma padrão ou qualifique os recursos com o idioma padrão.Change the default language or qualify resources with the default language.

Esse aviso é exibido quando MakePri.exe ou o MSBuild descobre arquivos ou recursos de cadeia de caracteres para um determinado recurso nomeado que parece ser marcado com qualificadores de idioma, mas nenhum candidato é encontrado para um idioma padrão.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. O processo para usar qualificadores nos nomes de arquivo e de pasta é descrito em Personalizar os recursos para idioma, escala e outros qualificadores.The process for using qualifiers in file and folder names is described in Tailor your resources for language, scale, and other qualifiers. Um arquivo ou uma pasta pode conter um nome de idioma, mas não é descoberto nenhum recurso qualificado para o idioma padrão exato.A file or folder may have a language name in it, but no resources are discovered that are qualified for the exact default language. Por exemplo, se um projeto usa "en-US" como idioma padrão e tem um arquivo chamado "de/logo.png", mas não tem nenhum arquivo marcado com o idioma padrão "en-US", esse aviso será exibido.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. Para remover esse aviso, algum arquivo ou recurso de cadeia de caracteres deve estar qualificado com o idioma padrão ou o idioma padrão deve ser alterado.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. Para alterar o idioma padrão, com sua solução aberta no Visual Studio, abra Package.appxmanifest.To change the default language, with your solution open in Visual Studio, open Package.appxmanifest. Na guia Aplicativo, confirme se o idioma padrão está definido corretamente (por exemplo, "en" ou "en-US").On the Application tab, confirm that the Default language is set appropriately (for example, "en" or "en-US").

Nenhum recurso padrão ou neutro fornecido para ' '.No default or neutral resource given for ''. O aplicativo pode gerar uma exceção para determinadas configurações de usuário ao recuperar os recursos.The application may throw an exception for certain user configurations when retrieving the resources.

Esse aviso é exibido quando MakePri.exe ou o MSBuild descobre arquivos ou recursos que parecem estar marcados com qualificadores de idioma para os quais os recursos não estão claros.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. Há qualificadores, mas não há garantia de que um candidato a recurso específico possa ser retornado para esse identificador de recurso no tempo de execução.There are qualifiers, but there is no guarantee that a particular resource candidate can be returned for that resource identifier at run time. Se não for possível encontrar nenhum candidato a recurso de um determinado idioma, região ou outro qualificador que seja um padrão ou que sempre corresponda ao contexto de um usuário, esse aviso será exibido.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. Em tempo de execução, para configurações de usuário específicas, como preferências de idioma do usuário ou local inicial ( configurações de > hora & região de idioma > & idioma ), as APIs usadas para recuperar o recurso podem gerar uma exceção inesperada.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. Para remover esse aviso, devem ser fornecidos recursos padrão, como um recurso no idioma padrão ou na região de residência global (homeregion-001) do projeto.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).

Usando o MakePri.exe em um sistema de compilaçãoUsing MakePri.exe in a build system

Os sistemas de compilação devem usar o comando new, versioned ou resourcepack do MakePri.exe, dependendo do tipo de projeto que está sendo compilado.Build systems should use the MakePri.exe new, versioned, or resourcepack command, depending on the type of project being built. Os sistemas de compilação que criam um arquivo PRI novo devem usar o comando new.Build systems that create a fresh PRI file should use the new command. Os sistemas de compilação que devem garantir a compatibilidade de deslocamentos internos por meio de iterações podem usar o comando versioned.Build systems that must ensure compatibility of internal offsets through iterations can use the versioned command. Os sistemas de compilação que devem criar um arquivo PRI com variantes adicionais de recursos, com validação para garantir que nenhum novo recurso seja adicionado para essa variante, devem usar o comando 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.

Os sistemas de compilação que exigem controle explícito sobre arquivos de origem indexados podem usar o indexador ResFiles, em vez de indexar uma pasta.Build systems that require explicit control over source files that get indexed can use the ResFiles indexer instead of indexing a folder. Os sistemas de compilação também podem usar várias passagens de índice com diferentes indexadores específicos de formato para gerar um único arquivo PRI.Build systems can also use multiple index passes with different format-specific indexers to generate a single PRI file.

Os sistemas de compilação também podem usar o indexador específico de formato PRI para adicionar arquivos PRI pré-compilados ao PRI do pacote de outros componentes, como bibliotecas de classes, assemblies, SDKs e DLLs.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.

Quando forem criados arquivos PRI para outros componentes, bibliotecas de classes, assemblies, DLLs e SDKs, a configuração initialPath deverá ser usada para garantir que os recursos de componente tenham seus próprios mapas de sub-recursos que não gerem conflitos com o app no qual estão incluídos.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.