Configurare le app tramite file di configurazione

.NET Framework offre agli sviluppatori e agli amministratori il controllo e la flessibilità sul modo in cui le applicazioni vengono eseguite tramite file di configurazione. I file di configurazione sono file XML che è possibile modificare in base alle specifiche esigenze. Un amministratore è in grado di controllare le risorse protette alle quali può accedere un'applicazione, le versioni di assembly che verranno usate dall'applicazione e la posizione in cui risiedono applicazioni e oggetti remoti. Gli sviluppatori possono definire le impostazioni all'interno dei file di configurazione senza dover ricompilare un'applicazione dopo ogni modifica di un'impostazione. In questa sezione viene descritto cosa è possibile configurare e l'utilità della configurazione di un'applicazione.

Nota

Il codice gestito può usare le classi nello spazio dei nomi System.Configuration per leggere impostazioni dai file di configurazione, ma non per scrivere impostazioni in tali file.

Questo articolo descrive la sintassi dei file di configurazione e fornisce informazioni sui tre tipi di file di configurazione: computer, applicazione e sicurezza.

Formato del file di configurazione

I file di configurazione contengono elementi costituiti da strutture logiche di dati che definiscono le informazioni di configurazione. All'interno di un file di configurazione vengono usati tag per contrassegnare l'inizio o la fine di un elemento. Ad esempio, l'elemento <runtime> è costituito da <runtime>elementi</runtime> figlio. Un elemento vuoto viene scritto come <runtime/> o <runtime></runtime>.

Come per tutti i file XML, nella sintassi dei file di configurazione viene fatta distinzione tra maiuscole e minuscole.

È possibile specificare le impostazioni di configurazione usando gli attributi predefiniti, ovvero le coppie nome/valore all'interno del tag iniziale di un elemento. Nell'esempio seguente vengono specificati due attributi (version e href) per l'elemento <codeBase>, che specifica la posizione nella quale il runtime può individuare un assembly. Per altre informazioni, vedere Specifica della posizione di un assembly.

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

File di configurazione del computer

Il file di configurazione del computer ,Machine.config, contiene le impostazioni applicabili a un intero computer. Questo file si trova nella directory %percorso installazione runtime%\Config. Machine.config contiene le impostazioni di configurazione per l'associazione di assembly a livello di computer, i canali remoti predefiniti e ASP.NET.

Il sistema di configurazione cerca innanzitutto nel file di configurazione del computer l'elemento <appSettings> e altre sezioni di configurazione che uno sviluppatore potrebbe definire. Successivamente analizza il file di configurazione dell'applicazione. Per gestire al meglio la configurazione del computer, è consigliabile definire queste impostazioni nel file di configurazione dell'applicazione. La definizione delle impostazioni nel file di configurazione del computer semplifica tuttavia la manutenzione del sistema. Se ad esempio è disponibile un componente di terze parti usato da entrambe le applicazioni server e client, risulta più semplice definire le impostazioni relative a tale componente in un solo file di configurazione. In questo caso, è appropriato definire le impostazioni nel file di configurazione del computer, senza definire le stesse impostazioni in due file diversi.

Nota

La distribuzione di un'applicazione mediante XCOPY non comporta la copia delle impostazioni nel file di configurazione del computer.

Per altre informazioni sulle modalità di uso del file di configurazione del computer per l'associazione di assembly da parte di Common Language Runtime, vedere Come il runtime individua gli assembly.

File di configurazione dell'applicazione

Un file di configurazione dell'applicazione contiene impostazioni specifiche di un'applicazione. Questo file include le impostazioni di configurazione che vengono lette da Common Language Runtime, quali criteri di associazione di assembly, oggetti remoti e così via, nonché le impostazioni che possono essere lette dall'applicazione.

Il nome e la posizione del file di configurazione dell'applicazione variano in funzione dell'host dell'applicazione, il quale può corrispondere a uno dei seguenti:

  • Eseguibile: applicazione ospitata.

    Queste app hanno due file di configurazione: un file di configurazione di origine, che viene modificato dallo sviluppatore durante lo sviluppo e un file di output distribuito con l'app.

    Quando si sviluppa in Visual Studio, inserire il file di configurazione di origine per l'app nella directory del progetto e impostare la relativa proprietà Copia in directory di output su Copia sempre o Copia se più recente. Per impostazione predefinita, il nome del file di configurazione è App.config.

    Per creare il file di configurazione di output distribuito con l'app, Visual Studio copia il file di configurazione di origine nella directory in cui viene inserito l'assembly compilato. Questo file è denominato <nomeapp>.exe.config. Ad esempio, un'app denominata myApp.exe avrà un file di configurazione di output denominato myApp.exe.config.

    In alcuni casi, è possibile che in Visual Studio venga modificato il file di configurazione di output. Per altre informazioni, vedere la sezione Reindirizzamento delle versioni di assembly a livello di app nell'articolo Reindirizzamento delle versioni di assembly.

  • Applicazione ospitata in ASP.NET.

    Per altre informazioni sui file di configurazione di ASP.NET, vedere ASP.NET Configuration Impostazioni.

  • Applicazione ospitata in Internet Explorer.

    Se un'app ospitata in Internet Explorer ha un file di configurazione, il percorso di questo file viene specificato in un <link> tag con la sintassi seguente: <link rel="*ConfigurationFileName*" href="*location*">

    In questo tag, location corrisponde a un URL che fa riferimento al file di configurazione. Questo tag imposta la base dell'applicazione. Il file di configurazione deve risiedere sullo stesso sito Web dell'applicazione.

File di configurazione della sicurezza

I file di configurazione della sicurezza contengono informazioni sulla gerarchia dei gruppi di codice e sui set di autorizzazioni associati a un livello di criteri. È consigliabile usare lo strumento Code Access Security Policy (Caspol.exe) per modificare i criteri di sicurezza, in modo da assicurarsi che eventuali modifiche dei criteri non danneggino i file di configurazione della sicurezza.

Nota

A partire da .NET Framework 4, i file di configurazione della sicurezza sono presenti solo se i criteri di sicurezza sono stati modificati.

I file di configurazione della sicurezza si trovano nelle posizioni seguenti:

  • File di configurazione dei criteri aziendali: %percorso-installazione-runtime%\Config\Enterprisesec.config

  • File di configurazione dei criteri del computer: %percorso-installazione-runtime%\Config\Security.config

  • File di configurazione dei criteri utente: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Vedi anche