Configurazione delle app tramite file di configurazioneConfiguring Apps by using Configuration Files

.NET Framework, tramite i file di configurazione, offre agli sviluppatori e agli amministratori controllo e flessibilità sulle modalità di esecuzione delle applicazioni.The .NET Framework, through configuration files, gives developers and administrators control and flexibility over the way applications run. I file di configurazione sono file XML che è possibile modificare in base alle specifiche esigenze.Configuration files are XML files that can be changed as needed. 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.An administrator can control which protected resources an application can access, which versions of assemblies an application will use, and where remote applications and objects are located. Gli sviluppatori possono definire le impostazioni all'interno dei file di configurazione senza dover ricompilare un'applicazione dopo ogni modifica di un'impostazione.Developers can put settings in configuration files, eliminating the need to recompile an application every time a setting changes. In questa sezione viene descritto cosa è possibile configurare e l'utilità della configurazione di un'applicazione.This section describes what can be configured and why configuring an application might be useful.

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.Managed code can use the classes in the System.Configuration namespace to read settings from the configuration files, but not to write settings to those files.

Questo argomento illustra la sintassi dei file di configurazione e fornisce informazioni sui tre tipi di file di configurazione: del computer, dell'applicazione e della sicurezza.This topic describes the syntax of configuration files and provides information about the three types of configuration files: machine, application, and security.

Formato dei file di configurazioneConfiguration File Format

I file di configurazione contengono elementi costituiti da strutture logiche di dati che definiscono le informazioni di configurazione.Configuration files contain elements, which are logical data structures that set configuration information. All'interno di un file di configurazione vengono usati tag per contrassegnare l'inizio o la fine di un elemento.Within a configuration file, you use tags to mark the beginning and end of an element. L'elemento <runtime>, ad esempio, è costituito da <runtime>elementi figlio</runtime>.For example, the <runtime> element consists of <runtime>child elements</runtime>. Un elemento vuoto viene scritto come <runtime/> o <runtime></runtime>.An empty element would be written as <runtime/> or <runtime></runtime>.

Come per tutti i file XML, nella sintassi dei file di configurazione viene fatta distinzione tra maiuscole e minuscole.As with all XML files, the syntax in configuration files is case-sensitive.

È possibile specificare le impostazioni di configurazione usando gli attributi predefiniti, ovvero le coppie nome/valore all'interno del tag iniziale di un elemento.You specify configuration settings using predefined attributes, which are name/value pairs inside an element's start tag. 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.The following example specifies two attributes (version and href) for the <codeBase> element, which specifies where the runtime can locate an assembly (for more information, see Specifying an Assembly's Location).

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

File di configurazione del computerMachine Configuration Files

Il file di configurazione del computer, Machine.config, contiene le impostazioni che vengono applicate al computer.The machine configuration file, Machine.config, contains settings that apply to an entire computer. Questo file si trova nella directory %percorso installazione runtime%\Config.This file is located in the %runtime install path%\Config directory. Il file Machine.config contiene le impostazioni di configurazione per l'associazione di assembly del computer, canali remoti predefiniti e ASP.NET.Machine.config contains configuration settings for machine-wide assembly binding, built-in remoting channels, and ASP.NET.

Il sistema di configurazione cerca prima di tutto nel file di configurazione del computer l'elemento <appSettings> e altre sezioni di configurazione che possono essere definite dallo sviluppatore.The configuration system first looks in the machine configuration file for the <appSettings> element and other configuration sections that a developer might define. Successivamente analizza il file di configurazione dell'applicazione.It then looks in the application configuration file. Per gestire al meglio la configurazione del computer, è consigliabile definire queste impostazioni nel file di configurazione dell'applicazione.To keep the machine configuration file manageable, it is best to put these settings in the application configuration file. La definizione delle impostazioni nel file di configurazione del computer semplifica tuttavia la manutenzione del sistema.However, putting the settings in the machine configuration file can make your system more maintainable. 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.For example, if you have a third-party component that both your client and server application uses, it is easier to put the settings for that component in one place. In questo caso, è appropriato definire le impostazioni nel file di configurazione del computer, senza definire le stesse impostazioni in due file diversi.In this case, the machine configuration file is the appropriate place for the settings, so you don't have the same settings in two different files.

Nota

La distribuzione di un'applicazione mediante XCOPY non comporta la copia delle impostazioni nel file di configurazione del computer.Deploying an application using XCOPY will not copy the settings in the machine configuration file.

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.For more information about how the common language runtime uses the machine configuration file for assembly binding, see How the Runtime Locates Assemblies.

File di configurazione dell'applicazioneApplication Configuration Files

Un file di configurazione dell'applicazione contiene impostazioni specifiche di un'applicazione.An application configuration file contains settings that are specific to an app. 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.This file includes configuration settings that the common language runtime reads (such as assembly binding policy, remoting objects, and so on), and settings that the app can read.

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:The name and location of the application configuration file depend on the app's host, which can be one of the following:

  • Eseguibile: applicazione ospitata.Executable–hosted app.

    Per queste applicazioni sono disponibili 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'applicazione.These apps have two configuration files: a source configuration file, which is modified by the developer during development, and an output file that is distributed with the 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.When you develop in Visual Studio, place the source configuration file for your app in the project directory and set its Copy To Output Directory property to Copy always or Copy if newer. Il nome del file di configurazione equivale a quello dell'applicazione al quale viene aggiunta l'estensione config.The name of the configuration file is the name of the app with a .config extension. Un'applicazione denominata ad esempio myApp.exe dovrebbe essere associata a un file di configurazione denominato myApp.exe.config.For example, an app called myApp.exe should have a source configuration file called myApp.exe.config.

    Il file di configurazione di origine viene copiato automaticamente nella directory in cui viene inserito l'assembly compilato per creare il file di configurazione di output distribuito con l'applicazione.Visual Studio automatically copies the source configuration file to the directory where the compiled assembly is placed to create the output configuration file, which is deployed with the app. 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.In some cases, Visual Studio may modify the output configuration file; for more information, see the Redirecting assembly versions at the app level section of the Redirecting Assembly Versions article.

  • Applicazione ospitata in ASP.NET.ASP.NET-hosted app.

    Per altre informazioni sui file di configurazione ASP.NET, vedere Impostazioni di configurazione di ASP.NET.For more information about ASP.NET configuration files, see ASP.NET Configuration Settings

  • Applicazione ospitata in Internet Explorer.Internet Explorer-hosted app.

    Se un'applicazione ospitata in Internet Explorer ha un file di configurazione, il relativo percorso viene specificato in un tag <link> con la sintassi seguente:If an app hosted in Internet Explorer has a configuration file, the location of this file is specified in a <link> tag with the following syntax:

    <link rel="NomeFileConfigurazione" href="posizione"><link rel="ConfigurationFileName" href="location">

    In questo tag, location corrisponde a un URL che fa riferimento al file di configurazione.In this tag, location is a URL to the configuration file. Questo tag imposta la base dell'applicazione.This sets the app base. Il file di configurazione deve risiedere sullo stesso sito Web dell'applicazione.The configuration file must be located on the same website as the app.

File di configurazione della sicurezzaSecurity Configuration Files

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.Security configuration files contain information about the code group hierarchy and permission sets associated with a policy level. È 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.We strongly recommend that you use the Code Access Security Policy tool (Caspol.exe) to modify security policy to ensure that policy changes do not corrupt the security configuration files.

Nota

A partire da .NET Framework 4.NET Framework 4, i file di configurazione della sicurezza sono presenti solo se i criteri di sicurezza sono stati modificati.Starting with the .NET Framework 4.NET Framework 4, the security configuration files are present only if security policy has been changed.

I file di configurazione della sicurezza si trovano nelle posizioni seguenti:The security configuration files are in the following locations:

  • File di configurazione dei criteri aziendali: %percorso-installazione-runtime%\Config\Enterprisesec.configEnterprise policy configuration file: %runtime-install-path%\Config\Enterprisesec.config

  • File di configurazione dei criteri del computer: %percorso-installazione-runtime%\Config\Security.configMachine policy configuration file: %runtime-install-path%\Config\Security.config

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

In questa sezioneIn This Section

Procedura: individuare assembly mediante DEVPATHHow to: Locate Assemblies by Using DEVPATH
Viene descritto come impostare il runtime in modo da usare la variabile di ambiente DEVPATH durante la ricerca degli assembly.Describes how to direct the runtime to use the DEVPATH environment variable when searching for assemblies.

Reindirizzamento delle versioni di assemblyRedirecting Assembly Versions
Viene descritto come specificare la posizione di un assembly e la relativa versione da usare.Describes how to specify the location of an assembly and which version of an assembly to use.

Specifica della posizione di un assemblySpecifying an Assembly's Location
Viene descritto come specificare la posizione in cui il runtime ricerca un assembly.Describes how to specify where the runtime should search for an assembly.

Configurazione di classi di crittografiaConfiguring Cryptography Classes
Viene descritto come associare il nome di un algoritmo a una classe di crittografia e un identificatore di oggetto a un algoritmo di crittografia.Describes how to map an algorithm name to a cryptography class and an object identifier to a cryptography algorithm.

Procedura: creare criteri editoreHow to: Create a Publisher Policy
Viene descritto come e quando aggiungere un file dei criteri dell'editore per specificare le impostazioni della codebase e il reindirizzamento degli assembly.Describes when and how you should add a publisher policy file to specify assembly redirection and code base settings.

Schema dei file di configurazioneConfiguration File Schema
Descrive la gerarchia dello schema per l'avvio, il runtime, la rete e altri tipi di impostazioni di configurazione.Describes the schema hierarchy for startup, runtime, network, and other types of configuration settings.

Vedere ancheSee Also

Schema dei file di configurazioneConfiguration File Schema
Specifica della posizione di un assemblySpecifying an Assembly's Location
Reindirizzamento delle versioni di assemblyRedirecting Assembly Versions
Registrazione di oggetti remoti tramite file di configurazioneRegistering Remote Objects Using Configuration Files
Amministrazione sito Web ASP.NETASP.NET Web Site Administration
NIB: Gestione criteri di protezioneNIB: Security Policy Management
Caspol.exe (strumento per i criteri di sicurezza dall'accesso di codice)Caspol.exe (Code Access Security Policy Tool)
Assembly in Common Language RuntimeAssemblies in the Common Language Runtime
Oggetti remotiRemote Objects