Condividi tramite


Creazione di file di risorse

Aggiornamento: novembre 2007

La libreria di classi base .NET Framework fornisce, nello spazio dei nomi System.Resources, diverse classi che semplificano la creazione e la modifica delle risorse delle applicazioni. Per informazioni dettagliate su come utilizzare ciascuna classe, fare clic sul relativo collegamento per visualizzare l'argomento di riferimento corrispondente.

Classe

Descrizione

Interfaccia IResourceReader

Legge le risorse da un flusso.

Interfaccia IResourceWriter

Scrive le risorse in un flusso.

Classe ResourceReader

Legge le risorse nel formato di file di risorse binario predefinito del runtime. Corrisponde all'implementazione predefinita dell'interfaccia IResourceReader.

Classe ResourceWriter

Scrive le risorse nel formato di file di risorse binario predefinito del runtime. Corrisponde all'implementazione predefinita dell'interfaccia IResourceWriter.

Classe ResXResourceReader

Consente di recuperare le risorse create dai file RESX. Si tratta di un'implementazione specializzata dell'interfaccia IResourceReader.

Classe ResXResourceWriter

Consente di creare un file RESX dalle risorse specificate. Si tratta di un'implementazione specializzata dell'interfaccia IResourceWriter. Utilizzare lo strumento Generatore di file di risorse (Resgen.exe) per convertire il file RESX nel formato di file RESOURCES.

È possibile creare file di risorse in tre modi diversi. Se la risorsa conterrà solo dati di tipo stringa, il metodo più semplice consiste nel creare manualmente un file di testo. Se le risorse conterranno oggetti o una combinazione di stringhe e oggetti, è necessario creare un file RESX o un file RESOURCES. Per informazioni su ciascun tipo di file, fare clic sul collegamento corrispondente.

Nota:

Non utilizzare file di risorse per archiviare password, informazioni riservate o dati personali.

Per poter scrivere oggetti persistenti in un file di risorse, è necessario che gli oggetti siano serializzabili. .I tipi di .NET Framework, quali ad esempio stringa e integer, e un gruppo di tipi di Windows Form, quali Bitmap, Icon e Image, possono essere deserializzati mediante codice semi-trusted. Per la deserializzazione di altri tipi, è necessario che il codice che effettua la chiamata disponga dell'autorizzazione SecurityPermission con il flag SerializationFormatter specificato.

È possibile accedere alle risorse contrassegnate come private solo nell'assembly in cui queste risiedono. Dal momento che un assembly satellite non contiene codice, non è possibile accedere alle relative risorse private in alcun modo. È necessario, pertanto, che le risorse negli assembly satellite siano sempre pubbliche, in modo che sia possibile accedervi dall'assembly principale. Dall'assembly principale è sempre possibile accedere alle risorse in esso incorporate, siano esse private o pubbliche.

È necessario evitare che l'applicazione dipenda dalle risorse di un assembly che non è stato creato e fornito con l'applicazione. La dipendenza da risorse di terze parti può essere causa di un cattivo funzionamento dell'applicazione, in quanto la presenza di queste stesse risorse in una versione successiva o in un service pack non è garantita.

Solo i file RESOURCES devono essere incorporati negli assembly Common Language Runtime e negli assembly satellite. Generatore di file di risorse (Resgen.exe) converte i file di testo (TXT) e i file di risorse basati su XML (RESX) in file RESOURCES eseguendo il wrapping dei metodi implementati dalle classi ResourceReader, ResourceWriter, ResXResourceReader e ResXResourceWriter. È possibile utilizzare Resgen.exe anche per riconvertire i file RESOURCES in file RESX e TXT.

In Microsoft Windows Software Development Kit (SDK) sono disponibili diversi esempi in cui viene illustrato come utilizzare i file con estensione resources. Vedere Risorse nelle applicazioni, l'esempio di localizzazione nella Guida rapida di ASP.NET e la procedura di esempio delle risorse nella Guida rapida sulle attività comuni.

Vedere anche

Concetti

Risorse nelle applicazioni

Creazione del package e distribuzione delle risorse

Riferimenti

System.Resources