Condividi tramite


Procedura dettagliata: caricamento di risorse da un assembly satellite

Aggiornamento: novembre 2007

In questa procedura dettagliata viene illustrato come caricare una stringa di risorsa da un assembly satellite con Progettazione Windows Presentation Foundation (WPF) per Visual Studio. La localizzazione per le applicazioni WPF risulterà così facilitata. 

In questa procedura dettagliata verranno eseguite le attività seguenti:

  • Creare il progetto

  • Attivare l'assembly satellite.

  • Creare e accedere a una stringa di risorsa.

Al termine si otterrà un'applicazione semplice che recupera una stringa da un assembly satellite.

Nota:

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida, a seconda delle impostazioni attive o della versione utilizzata. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere la classe Impostazioni di Visual Studio.

Prerequisiti

Per completare la procedura dettagliata è necessario disporre dei componenti elencati di seguito.

  • Visual Studio 2008.

Creazione del progetto

Il primo passaggio consiste nella creazione del progetto per l'applicazione.

Per creare il progetto

  1. Creare un nuovo progetto Applicazione WPF in Visual Basic o Visual C# denominato ResourceTest. Per ulteriori informazioni, vedere la classe Procedura: creare un nuovo progetto di applicazione WPF.

    Window1.xaml verrà aperto in WPF Designer.

  2. Dalla casella degli strumenti, trascinare un controllo Button nell'area di progettazione.

  3. Fare doppio clic sul pulsante per creare un gestore eventi Click per il controllo pulsante.

Attivazione dell'assembly satellite

L'assembly satellite viene attivato apportando delle piccole modifiche ai file di progetto e AssemblyInfo.

Per attivare l'assembly satellite

  1. Aprire AssemblyInfo.cs o AssemblyInfo.vb nell'editor del codice. Per vedere il file in Esplora soluzioni, potrebbe essere necessario fare clic su Mostra tutti i file.

  2. Rimuovere il commento dalla seguente riga.

    //[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
    
    '<Assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>
    
  3. Salvare la soluzione.

  4. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto ResourceTest e selezionare Scarica progetto.

    Visual Studio scarica il progetto ResourceTest.

  5. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto ResourceTest e selezionare Modifica ResourceTest.csproj o Modifica ResourceTest.vbproj.

    Il file di progetto verrà aperto nell'editor XML.

  6. Inserire l'XML seguente allo stesso livello degli altri elementi <PropertyGroup>.

    <PropertyGroup>
        <UICulture>en-US</UICulture>
    </PropertyGroup>
    
  7. Salvare e chiudere il file.

  8. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto ResourceTest e selezionare Ricarica progetto.

  9. In Esplora soluzioni, modificare il nome del file RESX predefinito da Resources.resx. a Resources.en-US.resx.

  10. Nella finestra Proprietà, cancellare il valore di Strumento personalizzato del file di risorse.

Creazione di una stringa di risorsa nell'assembly satellite

A questo punto è possibile creare una stringa nel file di risorse.

Per creare una stringa di risorsa nell'assembly satellite

  1. In Esplora soluzioni fare doppio clic su Resources.en-US.resx.

    Resources.en-US.resx viene aperto in Progettazione risorse.

  2. Impostare il nome della stringa predefinita da String1 su helloWorldString.

  3. Impostare il valore di helloWorldString su Hello World.

  4. Salvare e chiudere l'editor risorse.

Accesso alla stringa di risorsa

Accedere alla stringa nell'assembly satellite tramite la classe ResourceManager.

Per accedere alla stringa di risorsa

  1. Nell'editor di codice aprire Window1.xaml.cs o Window1.xaml.vb.

  2. .Inserire il codice seguente all'inizio di Window1.xaml.cs o Window1.xaml.vb.

    using System.Reflection;
    using System.Resources;
    
    Imports System.Reflection
    Imports System.Resources
    
  3. Inserire il codice riportato di seguito nel gestore eventi button1_Click.

    ResourceManager rm = new ResourceManager(
        "ResourceTest.Properties.Resources", 
         Assembly.GetExecutingAssembly());
    MessageBox.Show(rm.GetString("helloWorldString"));
    
    Dim rm As New ResourceManager( _
        "ResourceTest.Resources", _
        Assembly.GetExecutingAssembly())
    MessageBox.Show(rm.GetString("helloWorldString"))
    
  4. Premere F5 per compilare ed eseguire l'applicazione.

  5. Fare clic sul pulsante per vedere il valore della stringa caricato dalla risorsa satellite.

  6. Aprire la cartella Debug/en-US per vedere l'assembly satellite, denominato ResourceTest.resources.dll.

Vedere anche

Riferimenti

ResourceManager

Altre risorse

Distribuzione e localizzazione tramite Progettazione WPF

Codifica e localizzazione