App di Windows 8.1 Store: Assicurarsi che le risorse siano installate in un dispositivo indipendentemente dal fatto che il dispositivo le richieda

 

Si applica a Windows e Windows Phone

Con l'inclusione di diverse risorse in un pacchetto dell'app, puoi garantire che vengano installate tutte con l'app su ogni dispositivo, indipendentemente dalle risorse richieste all'installazione dell'app. Ad esempio, puoi far sì che con l'app vengano installate le stringhe dell'interfaccia utente in più lingue, non solo quelle nella lingua corrispondente alle preferenze della lingua utente del dispositivo. Grazie a questa strategia, gli utenti possono modificare le preferenze della lingua o altre impostazioni senza connettersi a Internet e i dispositivi possono passare alle risorse più adatte alle nuove impostazioni.

L'inclusione di risorse nel pacchetto di un'app comporta l'aumento delle dimensioni dell'app stessa. Per ridurre le dimensioni dell'app, includi risorse nei pacchetti di risorse che gli utenti possono scaricare in un momento successivo. Per la maggior parte delle app, i pacchetti di risorse offrono agli utenti la migliore esperienza con il minor footprint, tuttavia tali pacchetti potrebbero non essere appropriati per alcune app quali dizionari multilingue, strumenti di traduzione o altre app che richiedono cambi rapidi della lingua. Queste app possono includono una varietà di risorse in un pacchetto.

Puoi includere le risorse in un pacchetto dell'app aggiungendo un file di configurazione. In alternativa, se lo preferisci, puoi modificare direttamente il file di progetto.

Opzione 1: Aggiungere un file di configurazione alla soluzione

  1. In Esplora soluzioni fai clic con il pulsante destro del mouse sul progetto dell'app, scegli Aggiungi, quindi Nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento fai clic sul modello File XML, assegna al file il nome priconfig.packaging.xml, quindi fai clic su Aggiungi.

  3. Sostituisci il contenuto del file con il codice XML riportato di seguito.

    <packaging>
        <autoResourcePackage qualifier="Language" />
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    
  4. Rimuovi la riga dell'XML che rappresenta la categoria di risorse che non vuoi includere in un pacchetto di risorse. L'esempio seguente illustra il contenuto del file priconfig.packaging.xml dopo la rimozione del qualificatore Language.

    <packaging>
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    

    In questo esempio tutte le risorse della lingua vengono incluse nei pacchetti del bundle dell'app e gli utenti li scaricheranno indipendentemente dalle preferenze della lingua utente del dispositivo.

  5. Salva e chiudi il file priconfig.packaging.xml.

  6. Se rimuovi il qualificatore Language, aggiungi un altro file XML al progetto denominato priconfig.default.xml e sostituisci il contenuto di tale file con il codice XML seguente.

    <default>
      <qualifier name="Language" value=Value />
    </default>
    

    Nota

    Non devi aggiungere un file priconfig.default.xml al progetto se rimuovi i qualificatori Scale o DXFeatureLevel e non rimuovi il qualificatore Language.

    Sostituisci il segnaposto Value con il codice di ogni risorsa di lingua che vuoi includere nel pacchetto dell'app. L'esempio seguente mostra l'aspetto del codice XML dopo aver sostituito il segnaposto Value del qualificatore della lingua con un elenco di codici lingua.

    <default>
      <qualifier name="Language" value=”en;ja;de” />
      </default>
    
  7. In Esplora soluzioni fai clic sul file priconfig.packaging.xml.

  8. Nella finestra Proprietà modifica i valori delle proprietà seguenti in base al linguaggio del progetto.

    • Per i progetti in C# e VB imposta la proprietà Azione di compilazione su Nessuna.

    • Per i progetti in JavaScript imposta la proprietà Azione pacchetto su Nessuna.

    • Per i progetti in C++ imposta la proprietà Contenuto su False.

  9. Se hai aggiunto un file priconfig.default.xml al progetto, imposta la proprietà Azione di compilazione di quel file su Nessuna, la proprietà Azione pacchetto su Nessuna o la proprietà Contenuto su False a seconda della lingua del progetto.

  10. Scegli Compila soluzione dal menu Compilazione, quindi crea il pacchetto dell'app.

    Nella pagina Seleziona e configura pacchetti della procedura guidata Crea pacchetti dell'app scegli di generare un bundle dell'app per il pacchetto. Vedi Creare un pacchetto app per Windows 8.1.

  11. Nella cartella ProjectFolder**\obj\**ReleaseConfiguration apri il file split.priconfig.xml in Blocco note.

  12. Verifica che i qualificatori rimossi non siano visualizzati nell'elenco dei qualificatori delle risorse.

Ridenominazione del file priconfig.packaging.xml

Puoi assegnare qualsiasi nome al file di configurazione. Se assegni un nome diverso da priconfig.packaging xml, tuttavia, devi aggiungere una proprietà di compilazione al file di progetto.

  1. In Esplora soluzioni fai clic con il pulsante destro del mouse sul progetto dell'app, quindi fai clic su Scarica progetto.

  2. Fai nuovamente clic con il pulsante destro del mouse sul progetto, quindi scegli ModificaNomeApp**.csproj** o ModificaNomeApp**.vbproj**.

  3. Nel file di progetto aggiungi la riga seguente di codice XML tra i tag di apertura e chiusura del primo elemento <PropertyGroup>.

    <AppxPriConfigXmlPackagingSnippetPath>FilePath</AppxPriConfigXmlPackagingSnippetPath>
    

    Importante

    Sostituisci FilePath con il percorso del file di configurazione, incluso il nome del file.

  4. Salva e chiudi il file di progetto.

  5. In Esplora soluzioni fai clic con il pulsante destro del mouse sul progetto quindi scegli Ricarica progetto.

  6. Compila la soluzione e crea il pacchetto.

Nota

Se hai aggiungo un file priconfig.default.xml al progetto, puoi rinominare anche questo file. Per informazioni su come rinominare questo file, vedi Ridenominazione del file default.xml.

Opzione 2: Modificare il file di progetto (avanzata)

  1. Apri il file di progetto dell'app nel Blocco note.

  2. Nel file di progetto aggiungi la riga seguente di codice XML tra i tag di apertura e chiusura del primo elemento <PropertyGroup>.

    <AppxBundleAutoResourcePackageQualifiers>Language|Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    
  3. Da questa riga di XML rimuovi la categoria di risorse che non vuoi includere in un pacchetto di risorse. L'esempio seguente illustra la riga di XML dopo la rimozione del qualificatore Language.

    <AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    

    In questo esempio tutte le risorse della lingua vengono incluse nei pacchetti dell'app del bundle dell'app e gli utenti li scaricheranno indipendentemente dalle preferenze della lingua utente del dispositivo.

  4. Se rimuovi il qualificatore Language, aggiungi la riga di codice XML seguente tra i tag di apertura e chiusura del primo elemento <PropertyGroup>.

    <AppxDefaultResourceQualifiers>Language=Value</AppxDefaultResourceQualifiers>
    

    Nota

    Non devi aggiungere questa riga se rimuovi i qualificatori Scale o DXFeatureLevel e non rimuovi il qualificatore Language.

    Sostituisci il segnaposto Value con il codice di ogni risorsa di lingua che vuoi includere nel pacchetto dell'app. L'esempio seguente mostra l'aspetto del codice XML dopo aver sostituito il segnaposto Value del qualificatore della lingua con un elenco di codici lingua.

    <AppxDefaultResourceQualifiers>Language=en;ja;de</AppxDefaultResourceQualifiers>
    
  5. Salva e chiudi il file di progetto. A questo punto, ricarica il file in Visual Studio.

  6. Compila la soluzione e crea il pacchetto dell'app.

    Nella pagina Seleziona e configura pacchetti della procedura guidata Crea pacchetti dell'app scegli di generare un bundle dell'app per il pacchetto. Vedi Creare un pacchetto app per Windows 8.1.

  7. Nella cartella ProjectFolder**\obj\**ReleaseConfiguration apri il file split.priconfig.xml in Blocco note.

  8. Verifica che i qualificatori rimossi non siano visualizzati nell'elenco dei qualificatori delle risorse.

Vedere anche

Distribuzione di bundle di app
Bundle dell'app
Come decidere se generare un bundle di app
Pacchetti di risorse
Sistema gestione risorse
Definizione delle risorse dell'app (app scritte in C#/VB/C++ e XAML
Definizione delle risorse dell'app (app scritte in JavaScript e HTML)