Share via


Elemento compilation (schema delle impostazioni ASP.NET)

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

Configura tutte le impostazioni di compilazione utilizzate in ASP.NET per compilare le applicazioni.

<compilation 
   debug="[true|false]"
   batch="[true|false]"
   batchTimeout="number of seconds"
   defaultLanguage="language" 
   explicit="[true|false]" 
   maxBatchSize="maximim number of pages"
   maxBatchGeneratedFileSize="maximum combined size"
   numRecompilesBeforeAppRestart="number"
   strict="[true|false]" 
   tempDirectory="temporary files directory"
   urlLinePragmas="[true|false]"
   optimizeCompilations="[true|false]"
   targetFramework="2.0|3.0|3.5|4.0"
   assemblyPostProcessorType="assembly post processor, assembly"
>
   <assemblies>...</assemblies> 
   <buildProviders>...</buildProviders>
   <folderLevelBuildProviders>...</folderLevelBuildProviders>
   <codeSubDirectories>...</codeSubDirectories>
   <compilers>...</compilers>
   <expressionBuilders>...</expressionBuilders>
</compilation>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo

Descrizione

assemblyPostProcessorType

Attributo String facoltativo.

Specifica un passaggio di compilazione di elaborazione conclusiva per un assembly facendo riferimento a un post processore di assembly. Utilizzare il formato "assembly post processor, assembly". Il post processore di assembly deve implementare l'interfaccia IAssemblyPostProcessor. L'utilizzo di questo metodo di elaborazione conclusiva comporta il debug nella compilazione, di cui è possibile eseguire l'override quando si specifica la modalità di distribuzione.

Questo attributo è nuovo in .NET Framework versione 2.0.

Il valore predefinito è una stringa vuota.

batch

Attributo Boolean facoltativo.

Indica se è supportata la modalità batch.

Se l'impostazione è True, elimina il ritardo provocato dalla compilazione necessaria quando si accede a un file per la prima volta. Quando questo attributo è impostato su True, tramite ASP.NET tutti i file non compilati in modalità batch vengono precompilati. In questo modo la prima volta il ritardo risulterà ancora maggiore. ma, dopo il ritardo iniziale, verrà eliminato al successivo accesso al file.

Il valore predefinito è True.

batchTimeout

Attributo TimeSpan facoltativo.

Specifica il periodo di timeout, in secondi, per la compilazione batch. Se la compilazione non può essere completata entro il periodo di timeout previsto, il compilatore torna alla modalità di compilazione singola per la pagina corrente.

Il valore predefinito è "900" (15 minuti).

debug

Attributo Boolean facoltativo.

Specifica se compilare i dati binari di debug invece di quelli della versione finale.

Il valore predefinito è False.

defaultLanguage

Attributo String facoltativo.

Specifica il linguaggio di programmazione predefinito, ad esempio "C#" o "PERL", da utilizzare nei file di compilazione dinamica. I nomi dei linguaggi vengono definiti mediante l'elemento compilers della sezione system.codeDom oppure mediante l'elemento figlio compilers di questo elemento (deprecato).

Il valore predefinito è "vb".

explicit

Attributo Boolean facoltativo.

Specifica se impostare l'opzione di compilazione explicit di Microsoft Visual Basic. Se l'impostazione è True, tutte le variabili devono essere dichiarate mediante un'istruzione Dim, Private, Public o ReDim.

Il valore predefinito è True.

maxBatchGeneratedFileSize

Attributo Int32 facoltativo.

Specifica la dimensione massima combinata (in KB) dei file di origine generati per ogni compilazione in batch. In generale è preferibile non caricare in memoria un assembly di grosse dimensioni quando è necessario un numero inferiore di bit. Questo limite garantisce che le dimensioni degli assembly siano comprese in un intervallo ragionevole in modo da consentire all'applicazione di usufruire dei vantaggi del meccanismo di batch senza sovraccaricare il sistema. È simile a maxBatchSize.

Il valore predefinito è 1000.

maxBatchSize

Attributo Int32 facoltativo.

Specifica il numero massimo di pagine per compilazione in batch.

Il valore predefinito è 1000.

numRecompilesBeforeAppRestart

Attributo Int32 facoltativo.

Specifica il numero di ricompilazioni dinamiche di risorse possibili prima del riavvio dell'applicazione. Questo attributo è supportato a livello di applicazione e globale ma non a livello di directory.

NoteNote
ASP.NET aumenta il valore della proprietà NumRecompilesBeforeAppRestart ogni volta che un assembly viene invalidato e la sua eliminazione ha esito negativo.

Il valore predefinito è 15.

optimizeCompilations

Attributo Boolean facoltativo.

Specifica se la compilazione dinamica ricompilerà un sito intero in caso di modifica di un file di primo livello. I file di primo livello includono il file Global.asax e tutti i file nelle cartelle Bin e App_Code. Se True, vengono ricompilati solo i file modificati.

Il valore predefinito è False.

Per ulteriori informazioni, vedere Understanding ASP.NET Dynamic Compilation.

strict

Attributo Boolean facoltativo.

Specifica se attivare l'opzione di compilazione strict di Visual Basic.

Il valore predefinito è False.

targetFramework

Attributo String facoltativo.

Specifica la versione di .NET Framework di destinazione per il sito Web.

Il valore predefinito è Null.

Se viene omesso questo attributo, la versione di destinazione è determinata dalle altre impostazioni nel file Web.config e dal pool di applicazioni IIS al quale il sito Web è associato. Per ulteriori informazioni, vedere CompilationSection.TargetFramework e .NET Framework Targeting for Web Projects.

tempDirectory

Attributo String facoltativo.

Specifica la directory da utilizzare per l'archiviazione temporanea dei file durante la compilazione.

Il valore predefinito è una stringa vuota ("").

Nel caso di una stringa vuota e se il processo corrente ha le autorizzazioni di accesso necessarie, i file vengono archiviati nella directory %FrameworkInstallLocation%\ Temporary ASP.NET Files.

Si noti che solo i processi con autorizzazioni ad elevata attendibilità possono accedere alla directory %FrameworkInstallLocation%\ Temporary ASP.NET Files.

urlLinePragmas

Attributo Boolean facoltativo.

Specifica se il compilatore debba utilizzare gli URL invece dei percorsi fisici.

Il valore predefinito è False.

Elementi figlio

Elemento

Descrizione

assemblies

Definisce una raccolta di nomi di assembly utilizzati durante la compilazione di una risorsa ASP.NET.

buildProviders

Definisce una raccolta di provider di compilazione utilizzati per compilare file di risorse personalizzati. Per ulteriori informazioni, vedere la classe BuildProvider.

codeSubDirectories

Definisce una raccolta ordinata di sottodirectory contenenti i file compilati in fase di esecuzione.

compilers

Definisce una raccolta di opzioni del compilatore.

NoteNote
In .NET Framework 2.0 e versioni successive questo elemento è classificato come deprecato a favore dell'elemento compilers della sezione system.codeDom.L'utilizzo dell'elemento figlio compilers dell'elemento compilation continua, tuttavia, a essere valido e determina l'override dell'elemento compilers situato nella sezione system.codedom.

expressionBuilders

Definisce una raccolta di stringhe di risorsa da utilizzare durante la compilazione. Le stringhe di risorsa associano i prefissi ai generatori di espressioni.

folderLevelBuildProviders

Definisce una raccolta di provider di compilazione utilizzati per compilare file di risorse in cartelle specifiche. Provider di compilazione sono mappati alle estensioni di file e sono utilizzati per generare un codice da file del tipo specificato. Per ulteriori informazioni, vedere la classe FolderLevelBuildProvider.

Elementi padre

Elemento

Descrizione

configuration

Specifica l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi per la configurazione del comportamento di applicazioni Web ASP.NET.

Note

L'elemento compilation configura tutte le impostazioni di compilazione utilizzate in ASP.NET per compilare le applicazioni.

In .NET Framework versione 2.0 l'elemento figlio compilers dell'elemento compilation è classificato come deprecato a favore dell'elemento compilers della sezione system.codeDom. L'utilizzo dell'elemento figlio compilers dell'elemento compilation continua, tuttavia, a essere valido e determina l'override dell'elemento compilers situato nella sezione system.codedom.

Configurazione predefinita

L'elemento compilation predefinito riportato di seguito non viene configurato in modo esplicito nel file Machine.config o nel file Web.config radice. Si tratta, tuttavia, della configurazione predefinita restituita dall'applicazione. Gli elementi vengono aggiunti alle raccolte assemblies, buildProviders ed expressionBuilders nel file Web.config a livello di radice.

<compilation 
   tempDirectory="" 
   debug="false" 
   strict="false" 
   explicit="true" 
   batch="true" 
   batchTimeout="900" 
   maxBatchSize="1000" 
   maxBatchGeneratedFileSize="1000" 
   numRecompilesBeforeAppRestart="15" 
   defaultLanguage="vb" 
   urlLinePragmas="false" 
   assemblyPostProcessorType=""
>
   <assemblies>
       <clear />
   </assemblies>
   <buildProviders>
       <clear />
   </buildProviders>
   <expressionBuilders>
       <clear />
   </expressionBuilders>
</compilation>

Nel file Machine.config in .NET Framework versione 1.1 viene configurato l'elemento di compilazione predefinito riportato di seguito. Impostazioni analoghe esistono in .NET Framework versione 1.0 fatta eccezione per i numeri di versione.

<compilation debug="false" explicit="true" defaultLanguage="vb">
   <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <compiler language="VJ#;VJS;VJSharp" extension=".jsl" type="Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=7.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></compilers>
   <assemblies>
      <add assembly="mscorlib"/>
      <add assembly="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <add assembly="System.Web, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <add assembly="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <add assembly="System.Web.Services, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <add assembly="System.Xml, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
      <add assembly="System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
      <add assembly="*"/>
   </assemblies>
</compilation>

Esempio

Nell'esempio di codice riportato di seguito viene illustrato come configurare le impostazioni di compilazione per un'applicazione.

<configuration>
   <system.web>
      <compilation defaultLanguage="VB"
         targetFramework="4.0"
         debug="true"
         numRecompilesBeforeAppRestart="15">
         <assemblies>
            <add assembly="ADODB"/>
            <add assembly="*"/>
         </assemblies>

         <codeSubDirectories>
           <add directoryName="mySubDir1"/>
           <add directoryName="mySubDir2"/>
           <add directoryName="mySubDir3"/>
         </codeSubDirectories>

         <buildProviders>
            <buildProvider 
               extension=".mafx" type="BuildProviderType, 
                          BuildProviderAssembly"
            />
        </buildProviders>
     </compilation>
   </system.web>
</configuration>

Informazioni sull'elemento

Gestore della sezione di configurazione

CompilationSection

Membro di configurazione

Compilation

Percorsi configurabili

Machine.config

Web.config a livello di radice

Web.config a livello di applicazione

Web.config a livello di directory fisica o virtuale

Requisiti

Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0

.NET Framework 1.0, 1.1, 2.0

Visual Studio 2003 o Visual Studio 2005

Vedere anche

Attività

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Riferimenti

Elemento system.web (schema delle impostazioni ASP.NET)

Elemento assemblies per compilation (schema delle impostazioni ASP.NET)

Elemento buildProviders per compilation (schema delle impostazioni ASP.NET)

Elemento codeSubDirectories per compilation (schema delle impostazioni ASP.NET)

Elemento compilers per compilation (schema delle impostazioni ASP.NET)

Elemento expressionBuilders per compilation (schema delle impostazioni ASP.NET)

Elemento configuration (schema delle impostazioni generali)

System.Configuration

System.Web.Configuration

CompilationSection

Compilation

Concetti

ASP.NET Compilation Model

ASP.NET Web Page Syntax Overview

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

.NET Framework Targeting for Web Projects

Altre risorse

Impostazioni di configurazione generali (ASP.NET)

Impostazioni di configurazione di ASP.NET

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API