Compilar recursos manualmente con MakePri.exe
MakePri.exe es una herramienta de línea de comandos que se puede usar para crear y volcar archivos PRI. Viene integrada como parte de MSBuild en Microsoft Visual Studio, pero podría ser útil para crear paquetes manualmente o con un sistema de compilación personalizado.
Nota:
MakePri.exe se instala al comprobar la opción Windows SDK para aplicaciones administradas UWP al instalar el Kit de desarrollo de software de Windows. Se instala en la ruta de acceso %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe
(así como en carpetas denominadas para las demás arquitecturas). Por ejemplo, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe
.
En esta sección
Tema | Descripción |
---|---|
Opciones de línea de comandos de MakePri.exe | MakePri.exe tiene el conjunto de comandos createconfig , dump , new , resourcepack y versioned . En este tema se detallan las opciones de línea de comandos para su uso. |
Archivo de configuración de MakePri.exe | En este tema se describe el esquema del archivo de configuración XML de MakePri.exe. |
Indexadores específicos del formato de MakePri.exe | En este tema se describen los indexadores específicos del formato que usa la herramienta MakePri.exe para generar su índice de recursos. |
Opciones de línea de comandos de MakePri.exe
MakePri.exe tiene el conjunto de comandos createconfig
, dump
, new
, resourcepack
y versioned
. Para obtener más información sobre su uso, consulte Opciones de línea de comandos de MakePri.exe.
Configuración de MakePri.exe
El archivo de configuración XML PRI determina cómo y qué recursos se indexan. El esquema del XML de configuración se describe en Configuración de MakePri.exe.
Indexadores específicos del formato
MakePri.exe se utiliza normalmente con las opciones new
, versioned
y resourcepack
. En esos casos, indexa los archivos de origen para generar un índice de recursos. MakePri.exe usa varios indexadores individuales para leer diferentes archivos de recursos de origen o contenedores para recursos. El indexador más sencillo es el indexador de carpetas, que indexa el contenido de una carpeta para recursos como imágenes .jpg
o .png
. Para obtener más información, consulte Indexadores específicos del formato de MakePri.exe.
Advertencias y mensajes de error de MakePri.exe
Recursos encontrados para los idiomas '<language(s)>' pero no se encuentra ningún recurso para los idiomas predeterminados: '<language(s)>'. Cambie el idioma predeterminado o califique los recursos con el idioma predeterminado.
Esta advertencia se muestra cuando MakePri.exe o MSBuild detecta archivos o recursos de cadena para un recurso con nombre determinado que parece estar marcado con calificadores de idioma, pero no se encuentra ningún candidato para un idioma predeterminado. El proceso para utilizar calificadores en nombres de archivo y carpeta se describe en Personalizar los recursos para el idioma, la escala y otros calificadores. Un archivo o carpeta puede tener un nombre de idioma en él, pero no se detecta ningún recurso que esté calificado para el idioma predeterminado exacto. Por ejemplo, si un proyecto usa "en-US" como idioma predeterminado y tiene un archivo denominado "de/logo.png", pero no tiene ningún archivo marcado con el idioma predeterminado "en-US", aparecerá esta advertencia. Para quitar esta advertencia, los archivos o los recursos de cadena deben calificarse con el idioma predeterminado o se debe cambiar el idioma predeterminado. Para cambiar el idioma predeterminado, con la solución abierta en Visual Studio, abra Package.appxmanifest
. En la pestaña Aplicación, confirme que el idioma predeterminado se haya establecido correctamente (por ejemplo, "en" o "en-US").
No se proporciona ningún recurso predeterminado o neutro para '<identificador de recursos>'. La aplicación puede producir una excepción para determinadas configuraciones de usuario al recuperar los recursos.
Esta advertencia se muestra cuando MakePri.exe o MSBuild detecta archivos o recursos que parecen estar marcados con calificadores de idioma para los que los recursos no están claros. Hay calificadores, pero no hay ninguna garantía de que se pueda devolver un candidato de recurso determinado para ese identificador de recurso en tiempo de ejecución. Si no se puede encontrar ningún candidato de recursos para un idioma determinado, región principal u otro calificador que sea predeterminado o que coincida siempre con el contexto de un usuario, se mostrará esta advertencia. En tiempo de ejecución, en el caso de configuraciones de usuario concretas, como las preferencias de idioma de un usuario o la ubicación principal (Configuración>Hora e idioma>Región e idioma), las API usadas para recuperar el recurso pueden producir una excepción inesperada. Para quitar esta advertencia, se deben proporcionar recursos predeterminados, como un recurso en el idioma predeterminado del proyecto o en la región principal global del proyecto (homeregion-001).
Uso de MakePri.exe en un sistema de compilación
Los sistemas de compilación deben usar el comando new
, versioned
o resourcepack
de MakePri.exe, en función del tipo de proyecto que se esté compilando. Los sistemas de compilación que crean un archivo PRI nuevo deben usar el comando new
. Los sistemas de compilación que deben garantizar la compatibilidad de desplazamientos internos a través de iteraciones pueden usar el comando versioned
. Los sistemas de compilación que deben crear un archivo PRI que contenga variantes adicionales de recursos, con validación para asegurarse de que no se agreguen nuevos recursos para esa variante, debe usar el comando resourcepack
.
Los sistemas de compilación que requieren un control explícito sobre los archivos de código fuente que se indexan pueden usar el indexador ResFiles en lugar de indexar una carpeta. Los sistemas de compilación también pueden usar varios pasos de índice con distintos indexadores específicos del formato para generar un único archivo PRI.
Los sistemas de compilación también pueden usar el indexador específico del formato PRI para agregar archivos PRI pregenerados al PRI para el paquete de otros componentes, como bibliotecas de clases, ensamblados, SDK y DLL.
Cuando los archivos PRI se compilan para otros componentes, bibliotecas de clases, ensamblados, archivos DLL y SDK, la configuración initialPath debe usarse para asegurarse de que los recursos de componente tienen sus propias asignaciones de subrecursos que no entran en conflicto con la aplicación en la que se incluyen.