Usare Visual C# per archiviare e recuperare informazioni personalizzate da un file di configurazione dell'applicazione
Questo articolo illustra come archiviare informazioni personalizzate da un file di configurazione che è possibile recuperare in un secondo momento durante l'esecuzione dall'applicazione associata. È utile quando è necessario definire i dati associati a un'applicazione.
Versione originale del prodotto: Oggetto visivo C#
Numero KB originale: 815786
Requisiti
L'elenco seguente descrive l'hardware e il software consigliati necessari:
- Microsoft Windows
- Oggetto visivo C#
Questo articolo presuppone che si abbia familiarità con gli argomenti seguenti:
- XML (Extensible Markup Language)
- File di configurazione .NET
Creare un'applicazione console che legge un file di configurazione
È possibile archiviare le impostazioni dell'applicazione nel file di configurazione associato all'applicazione. I file di configurazione vengono salvati in formato XML.
Gli System.Configuration
spazi dei System.Collections.Specialized
nomi e in .NET Framework includono le classi necessarie per recuperare informazioni da un file di configurazione dell'applicazione .NET durante l'esecuzione.
Per creare un'applicazione console che legge il contenuto di un file di configurazione associato durante l'esecuzione, seguire questa procedura:
Avviare Visual Studio .NET o Visual Studio.
Nel menu File puntare su Nuovo, quindi scegliere Progetto.
selezionare Visual C# in Tipi di progetto e quindi selezionare Applicazione console in Modelli. Assegnare al progetto il nome ConConfig. Per impostazione predefinita, Visual C# crea una classe denominata Program.
Nota
In Visual Studio .NET selezionare Progetti Visual C# in Tipi di progetto e quindi selezionare Applicazione console in Modelli. Assegnare al progetto il nome ConConfig. Per impostazione predefinita, Visual C# crea una classe denominata Class1.
Assicurarsi che la finestra Esplora soluzioni sia visibile. Se non è visibile, premere la combinazione di tasti CTRL+ALT+L.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul nome del progetto, scegliere Aggiungi e quindi selezionare Nuovo elemento.
Nell'elenco Aggiungi nuovo elemento selezionare File XML.
Nella casella di testo Nome digitare App.confige quindi selezionare Aggiungi.
È possibile usare un file di configurazione dell'applicazione per raccogliere le impostazioni personalizzate dell'applicazione salvate in formato chiave/valore. È possibile includere
<add>
elementi nella<appSettings>
sezione di un file di configurazione associato. Ogni coppia chiave/valore ha un<add>
elemento. Un<add>
elemento ha il formato seguente:<add key="Key0" value="0" />
Aggiungere una
<appSettings>
sezione con<add>
elementi al file di configurazione tra i<configuration>
tag e</configuration>
.Ad esempio, il file di configurazione seguente include una
<appSettings>
sezione che specifica tre coppie chiave/valore:<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="Key0" value="0" /> <add key="Key1" value="1" /> <add key="Key2" value="2" /> </appSettings> </configuration>
In Esplora soluzioni fare doppio clic su Program.cs per visualizzare la finestra del codice. Aggiungere le istruzioni seguenti al modulo di codice.
Nota
Queste istruzioni devono essere visualizzate prima di qualsiasi altra istruzione nel file.
using System.Configuration; using System.Collections.Specialized;
Aggiungere un riferimento a System.Configuration.dll seguendo questa procedura:
- Scegliere Aggiungi riferimento dal menu Progetto.
- Nella finestra di dialogo Aggiungi riferimento selezionare la scheda .NET .
- Trovare e selezionare il nome del componente di
System.Configuration
. - Selezionare OK.
Per contenere il valore da una chiave del file di configurazione nella
<appSettings>
sezione del file di configurazione, dichiarare una variabile stringa nellaMain
sezione come indicato di seguito:string sAttr;
Per recuperare un valore per una chiave specificata dalla
<appSettings>
sezione del file di configurazione, utilizzare ilGet
metodo dellaAppSettings
proprietà dellaConfigurationManager
classe . LaConfigurationManager
classe si trova nello spazio deiSystem.Configuration
nomi . Quando ilAppSettings.Get
metodo riceve un parametro di input stringa che contiene una chiave, l'applicazione recupera il valore associato alla chiave.Il codice seguente recupera il valore per l'attributo
Key0
dal file di configurazione associato. Il codice inserisce quindi questo valore nellasAttr
variabile stringa. Se non esiste una chiave per questo valore, non viene archiviato alcun elemento insAttr
.sAttr = ConfigurationManager.AppSettings.Get("Key0");
Per visualizzare il valore recuperato dall'applicazione nella finestra Console, usare
Console.WriteLine
come indicato di seguito:Console.WriteLine("The value of Key0 is "+sAttr);
È possibile utilizzare un riferimento alla
AppSettings
proprietà per recuperare tutte le coppie chiave/valore nella<appSettings>
sezione . Quando si utilizza laAppSettings
proprietà , l'applicazione restituisce tutte le coppie chiave/valore associate. Queste coppie vengono archiviate in unNameValueCollection
tipo . ContieneNameValueCollection
voci chiave/valore per ogni chiave recuperata dall'applicazione. LaNameValueCollection
classe si trova nello spazio deiSystem.Collections.Specialized
nomi .NameValueCollection sAll ; sAll = ConfigurationManager.AppSettings;
La
AllKeys
proprietà diNameValueCollection
fa riferimento a una matrice di stringhe con una voce per ogni chiave recuperata dall'applicazione. Usare una costruzione foreach per scorrere laAllKeys
matrice per accedere a ogni chiave recuperata dall'applicazione. Ogni voce di chiave inAllKeys
è un tipo di dati stringa.All'interno della
foreach
costruzione usareConsole.WriteLine
per visualizzare la chiave e il relativo valore associato nella finestra Console. La chiave corrente elaborata dall'applicazione si trova ins
. Usarlo come indice insAllNameValueCollection
per ottenere il valore associato.foreach (string s in sAll.AllKeys) Console.WriteLine("Key: "+ s + " Value: " + sAll.Get(s)); Console.ReadLine();
Elenco di codice completo
using System;
using System.Configuration;
using System.Collections.Specialized;
namespace ConConfig
{
class Program
{
static void Main(string[] args)
{
string sAttr;
// Read a particular key from the config file
sAttr = ConfigurationManager.AppSettings.Get("Key0");
Console.WriteLine("The value of Key0: " + sAttr);
// Read all the keys from the config file
NameValueCollection sAll;
sAll = ConfigurationManager.AppSettings;
foreach (string s in sAll.AllKeys)
Console.WriteLine("Key: " + s + " Value: " + sAll.Get(s));
Console.ReadLine();
}
}
}
Nota
Questo codice è destinato a .NET Framework 2.0. Se si usa .NET Framework 1.0 o .NET Framework 1.1, modificare tutte le istanze della ConfigurationManager
classe in ConfigurationSettings
.
Elenco di file di configurazione completo (ConConfig.exe.config)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key0" value="0" />
<add key="Key1" value="1" />
<add key="Key2" value="2" />
</appSettings>
</configuration>
Verificare che funzioni
Premere F5 per eseguire il codice. Nella finestra Console devono essere visualizzate le coppie chiave/valore della <appSettings>
sezione del file di configurazione associato come indicato di seguito:
The value of Key0: 0
Key: Key0 Value:0
Key: Key1 Value:1
Key: Key2 Value:2
Risoluzione dei problemi
Il file di configurazione viene salvato in formato XML. Assicurarsi di seguire tutte le regole di sintassi XML. Tenere presente che xml fa distinzione tra maiuscole e minuscole. Se il formato XML non è corretto o se un elemento è scritto in modo errato, si riceve un'eccezione
System.Configuration.Configuration
.Ad esempio, se si aggiunge l'attributo chiave di un
<add>
elemento con una K maiuscola anziché una k minuscola o se la<appSettings>
sezione viene visualizzata come<AppSettings>
(con una A maiuscola anziché una a minuscola), viene visualizzato un messaggio di errore.Il file di configurazione deve essere salvato nella stessa cartella dell'applicazione associata.
È necessario usare la sintassi seguente per il nome del file di configurazione:
<ApplicationName>.<.config ApplicationType>Dove <ApplicationName> è il nome dell'applicazione. <ApplicationType> è il tipo di applicazione, ad
.exe
esempio . Ed.config
è il suffisso obbligatorio.
Riferimenti
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per