Compilare le risorse manualmente con MakePri.exe

MakePri.exe è uno strumento della riga di comando che puoi usare per creare file PRI di dump. È integrato nell'ambito di MSBuild all'interno di Microsoft Visual Studio e potrebbe essere utile per la creazione manuale di pacchetti o con un sistema di compilazione personalizzato.

Nota

MakePri.exe viene installato quando si seleziona l'opzione Windows SDK for UWP Managed Apps durante l'installazione di Windows Software Development Kit. Viene installato nel percorso %WindowsSdkDir%bin\<WindowsTargetPlatformVersion>\x64\makepri.exe (nonché nelle cartelle denominate per le altre architetture). Ad esempio, C:\Program Files (x86)\Windows Kits\10\bin\10.0.17713.0\x64\makepri.exe.

In questa sezione

Argomento Descrizione
Opzioni della riga di comando per MakePri.exe MakePri.exe include il set di comandi createconfig, dump, new, resourcepack e versioned. In questo argomento vengono fornite informazioni dettagliate sulle opzioni della riga di comando per l'uso.
File di configurazione MakePri.exe In questo argomento viene descritto lo schema del file di configurazione XML MakePri.exe.
Indicizzatori specifici del formato MakePri.exe In questo argomento vengono descritti gli indicizzatori specifici del formato usati dallo strumento MakePri.exe per generare l'indice delle risorse.

Opzioni della riga di comando per MakePri.exe

MakePri.exe include il set di comandi createconfig, dump, new, resourcepack e versioned. Per informazioni dettagliate sull'uso, vedere MakePri.exe opzioni della riga di comando.

File di configurazione MakePri.exe

Il file di configurazione PRI XML determina come e quali risorse vengono indicizzate. Lo schema del codice XML di configurazione è descritto in MakePri.exe configurazione.

Indicizzatori specifici del formato

MakePri.exe viene in genere utilizzato con le new opzioni, versioned, e resourcepack . In questi casi indicizza i file di origine per generare un indice di risorse. MakePri.exe usa vari indicizzatori singoli per leggere diversi file di risorse di origine o contenitori per le risorse. L'indicizzatore più semplice è l'indicizzatore di cartelle, che indicizza il contenuto di una cartella per risorse come .jpg o .png immagini. Per altre info, vedi indicizzatori specifici MakePri.exe formato.

MakePri.exe avvisi e messaggi di errore

Risorse trovate per le lingue '<lingue'>, ma nessuna risorsa trovata per le lingue predefinite: '<lingue/e'>. Modificare la lingua predefinita o qualificare le risorse con la lingua predefinita.

Questo avviso viene visualizzato quando MakePri.exe o MSBuild individua file o risorse stringa per una determinata risorsa denominata che sembra essere contrassegnata con qualificatori di lingua, ma non viene trovato alcun candidato per una lingua predefinita. Il processo per l'uso dei qualificatori nei nomi di file e cartelle è descritto in Adattare le risorse per lingua, scalabilità e altri qualificatori. Un file o una cartella possono avere un nome di lingua, ma non vengono individuate risorse qualificate per la lingua predefinita esatta. Ad esempio, se un progetto usa "en-US" come lingua predefinita e ha un file denominato "de/logo.png", ma non contiene file contrassegnati con la lingua predefinita "en-US", verrà visualizzato questo avviso. Per rimuovere questo avviso, i file o le risorse stringa devono essere qualificati con la lingua predefinita oppure la lingua predefinita deve essere modificata. Per modificare la lingua predefinita, con la soluzione aperta in Visual Studio, aprire Package.appxmanifest. Nella scheda Applicazione verificare che la lingua predefinita sia impostata in modo appropriato , ad esempio "en" o "en-US".

Non viene specificata alcuna risorsa predefinita o neutra per '<identificatore di risorsa>. L'applicazione può generare un'eccezione per determinate configurazioni utente durante il recupero delle risorse.

Questo avviso viene visualizzato quando MakePri.exe o MSBuild individua file o risorse che sembrano essere contrassegnati con qualificatori di lingua per cui le risorse non sono chiare. Esistono qualificatori, ma non c'è alcuna garanzia che un determinato candidato risorsa possa essere restituito per tale identificatore di risorsa in fase di esecuzione. Se non è possibile trovare alcun candidato alla risorsa per una determinata lingua, area geografica principale o un altro qualificatore predefinito o corrisponderà sempre al contesto di un utente, verrà visualizzato questo avviso. In fase di esecuzione, per configurazioni utente specifiche, ad esempio le preferenze linguistiche di un utente o la posizione principale (Impostazioni>Time & Language>Region & Language), le API usate per recuperare la risorsa possono generare un'eccezione imprevista. Per rimuovere questo avviso, è necessario specificare le risorse predefinite, ad esempio una risorsa nella lingua predefinita del progetto o nell'area principale globale (homeregion-001).

Uso di MakePri.exe in un sistema di compilazione

I sistemi di compilazione devono usare il comando MakePri.exe new, versionedo resourcepack , a seconda del tipo di progetto in fase di compilazione. I sistemi di compilazione che creano un nuovo file PRI devono usare il new comando. I sistemi di compilazione che devono garantire la compatibilità degli offset interni tramite iterazioni possono usare il versioned comando. I sistemi di compilazione che devono creare un file PRI contenente varianti aggiuntive di risorse, con convalida per assicurarsi che non vengano aggiunte nuove risorse per tale variante, usare il resourcepack comando.

I sistemi di compilazione che richiedono un controllo esplicito sui file di origine indicizzati possono usare l'indicizzatore ResFiles anziché indicizzare una cartella. I sistemi di compilazione possono anche usare più passaggi di indice con indicizzatori specifici del formato diversi per generare un singolo file PRI.

I sistemi di compilazione possono anche usare l'indicizzatore specifico del formato PRI per aggiungere file PRI predefiniti al PRI per il pacchetto da altri componenti, ad esempio librerie di classi, assembly, SDK e DLL.

Quando i file PRI vengono compilati per altri componenti, librerie di classi, assembly, DLL e SDK, la configurazione InitialPath deve essere usata per garantire che le risorse del componente abbiano mappe delle risorse secondarie che non sono in conflitto con l'app in cui sono incluse.