Elemento compilation (schema delle impostazioni ASP.NET)
Aggiornamento: novembre 2007
Configura tutte le impostazioni di compilazione utilizzate in ASP.NET per compilare le applicazioni.
Elemento <Configuration>
Elemento system.web (schema delle impostazioni ASP.NET)
Elemento compilation (schema delle impostazioni ASP.NET)
<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]"
assemblyPostProcessorType="assembly post processor, assembly"
>
<assemblies>...</assemblies>
<buildproviders>...</buildproviders>
<codeSubDirectories>...</codeSubDirectories>
<compilers>...</compilers>
<expressionBuilders>...</expressionBuilders>
</compilation>
Attributi ed elementi
Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio ed 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, 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 (obsoleto). 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. Nota 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. |
strict |
Attributo Boolean facoltativo. Specifica se attivare l'opzione di compilazione strict di Visual Basic. Il valore predefinito è False. |
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 un insieme di nomi di assembly utilizzati durante la compilazione di una risorsa ASP.NET. |
buildproviders |
Definisce un insieme di provider di generazione utilizzati per compilare file di risorse personalizzati. Questo elemento è nuovo in .NET Framework versione 2.0. |
codeSubDirectories |
Definisce un insieme ordinato di sottodirectory contenenti i file compilati in fase di esecuzione. Questo elemento è nuovo in .NET Framework versione 2.0. |
compilers |
Definisce un insieme di opzioni del compilatore. Nota In .NET Framework versione 2.0 questo elemento è classificato come obsoleto 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 un insieme di stringhe di risorsa da utilizzare durante la compilazione. Le stringhe di risorsa associano i prefissi ai generatori di espressioni. Questo elemento è nuovo in .NET Framework versione 2.0. |
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 obsoleto 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 principale. Si tratta, tuttavia, della configurazione predefinita restituita dall'applicazione. Gli elementi vengono aggiunti agli insiemi 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"
debug="true"
numRecompilesBeforeAppRestart="15">
<compilers>
<compiler
language="VB;VBScript"
extension=".cls"
type="Microsoft.VisualBasic.VBCodeProvider,system,
Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
<compiler
language="C#;Csharp"
extension=".cs"
type="Microsoft.CSharp.CSharpCodeProvider,system,
Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
</compilers>
<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 |
|
Membro di configurazione |
|
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à
Procedura: configurare directory specifiche utilizzando le impostazioni posizione
Procedura: bloccare le impostazioni di configurazione di ASP.NET
Concetti
Cenni preliminari sulla compilazione in ASP.NET
Cenni preliminari sulla sintassi delle pagine Web ASP.NET
Gerarchia ed ereditarietà dei file di configurazione di ASP.NET
Protezione della configurazione di ASP.NET
Scenari di configurazione ASP.NET
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)
Altre risorse
Impostazioni di configurazione generali (ASP.NET)
Impostazioni di configurazione di ASP.NET
Amministrazione di siti Web ASP.NET