Compartilhar via


compilation Element (ASP.NET Settings Schema)

Configura todas as configurações de compilação que o ASP.NET usa para compilar aplicativos.

<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>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

assemblyPostProcessorType

Opcional String atributo.

Especifica uma etapa de compilação a para um assembly, referindo-se a um pós-processador assembly. Use o formato "assembly lançar processador, assembly". O assembly lançar processador deve implementar a IAssemblyPostProcessor interface. Usar esse método de pós-processamento força a depuração na compilação, o que você pode substituir ao especificar o modo de implantação.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é uma seqüência vazia.

batch

Opcional Boolean atributo.

Indica se o processamento em lotes é aceita.

Se True, elimina o atraso causado por compilação necessária quando você acessar um arquivo para a primeira vez. Quando esse atributo é definido como True, ASP.NET pré-compila todos os arquivos não compilados em um modo de lote, o que causa um atraso na primeira vez ainda mais os arquivos são compilados. No entanto, após esse atraso inicial, o atraso de compilação é eliminado no acesso subseqüente do arquivo.

O padrão é True.

batchTimeout

Opcional TimeSpan atributo.

Especifica o período de tempo limite em segundos, para compilação em lotes. Se a compilação não pode ser concluída dentro do período de tempo limite, o compilador reverte para o modo de compilação única para a página atual.

O padrão é "900" (15 minutos).

debug

Opcional Boolean atributo.

Especifica se a compilação de binários de depuração em vez de binários de varejo.

O padrão é False.

defaultLanguage

Opcional String atributo.

Especifica o padrão de programação, como o idioma, "C#" ou "PERL", para usar em arquivos de compilação dinâmica. Nomes de idiomas são definidos usando o compiladores o elemento da System. CodeDom seção ou o compiladores o elemento filho desse elemento (obsoleto).

O padrão é "vb".

explicit

Opcional Boolean atributo.

Especifica se deve ser definido de Visual Basic Microsoft explicit compilar opção. Se True, todas as variáveis devem ser declaradas usando um Dim, Private, Public, ou ReDim instrução.

O padrão é True.

maxBatchGeneratedFileSize

Opcional Int32 atributo.

Especifica o tamanho máximo combinado (em KB) dos arquivos de origem gerados por compilação em lote. Em geral, não é ideal para carregar um assembly enorme na memória quando menos bits são realmente necessários. Esse limite ajuda a garantir o tamanho dos assemblies dividem-se em um intervalo razoável para que o aplicativo aproveita o mecanismo de lote sem a sobrecarga do sistema. Isso é semelhante a maxBatchSize.

O padrão é 1000.

maxBatchSize

Opcional Int32 atributo.

Especifica o número máximo de páginas por compilação em lote.

O padrão é 1000.

numRecompilesBeforeAppRestart

Opcional Int32 atributo.

Especifica o número de recompilações dinâmicas de recursos que podem ocorrer antes da reinicialização do aplicativo. Suporte a esse atributo no nível global e do aplicativo, mas não no nível do diretório.

Observação

ASP.NET aumenta a NumRecompilesBeforeAppRestart propriedade toda vez que um assembly é invalidado e falha a ser excluído.

O padrão é 15.

optimizeCompilations

Opcional Boolean atributo.

Especifica se a compilação dinâmica será recompilar todo o site se um arquivo de nível superior é alterado. Arquivos de nível superior incluem o arquivo global. asax e todos os arquivos nas pastas Lixeira e App_Code. Se True, somente os arquivos alterados são recompilados.

O padrão é False.

Para obter mais informações, consulte Understanding ASP.NET Dynamic Compilation.

strict

Opcional Boolean atributo.

Especifica se deseja habilitar o Visual Basic strict compilar opção.

O padrão é False.

targetFramework

Opcional String atributo.

Especifica a versão do.NET Framework que os destinos do site da Web.

O padrão é Null.

Se este atributo for omitido, a versão de destino é determinada por outras configurações no arquivo Web. config e o pool de aplicativos do IIS que o site está associado. Para obter mais informações, consulte CompilationSection.TargetFramework e .NET Framework multiplataforma para projetos da Web do ASP.NET.

tempDirectory

Opcional String atributo.

Especifica o diretório a ser usada para armazenar arquivos temporários durante a compilação.

The default is an empty string ("").

No caso de uma seqüência vazia, e se o processo atual tenha as permissões de acesso necessários, os arquivos são armazenados na %FrameworkInstallLocation%\ Temporary ASP.Diretório de arquivos de NET.

Observe que somente os processos com permissões de confiança alto podem acessar o %FrameworkInstallLocation%\ Temporary ASP.NET Files.

urlLinePragmas

Opcional Boolean atributo.

Especifica se o compilador deve usar URLs, em vez de caminhos físicos.

O padrão é False.

Elementos filho

Elemento

Descrição

assemblies

Define uma coleção de nomes de assemblies que são usados durante a compilação de um aplicativo ASP.Recurso NET.

buildProviders

Define uma coleção de provedores de compilação que são usados para compilar arquivos de recurso personalizado. Para mais informações, consulte a classe BuildProvider.

codeSubDirectories

Define uma coleção ordenada de subdiretórios que contém os arquivos que são compilados em tempo de execução.

compilers

Define um conjunto de opções do compilador.

Observação

No.NET Framework versão 2.0 e versões posteriores, esse elemento é preterido em favor da compiladores o elemento da System. CodeDom seção.No entanto, usando o compilers elemento filho da compilation elemento ainda é válido e substitui a compilers elemento que está localizado na system.codedom seção.

expressionBuilders

Define uma coleção de seqüências de recurso a ser usado durante a compilação. As seqüências de caracteres de recurso associar prefixos construtores de expressões.

folderLevelBuildProviders

Define uma coleção de provedores de compilação que são usados para compilar arquivos de recurso personalizado em pastas específicas. Criar provedores são mapeados para extensões de arquivo e são usados para gerar o código de arquivos do tipo especificado. Para mais informações, consulte a classe FolderLevelBuildProvider.

Elementos pai

Elemento

Descrição

configuration

Especifica o elemento raiz necessários em cada arquivo de configuração que é usado pelo common language runtime e.Aplicativos do NET Framework.

system.web

Especifica o elemento raiz para o ASP.Definições de configuração de rede em uma configuração de arquivo e contém elementos de configuração para configurar aplicativos ASP.Comportamento de aplicativos da Web do NET.

Comentários

O compilation elemento configura todas as configurações de compilação que o ASP.NET usa para compilar aplicativos.

No.NET Framework versão 2.0, o compilers elemento filho da compilation elemento é preterido em favor da compiladores o elemento da System. CodeDom seção. No entanto, usando o compilers elemento filho da compilation elemento ainda é válido e substitui a compilers elemento que está localizado na system.codedom seção.

Configuração padrão

O seguinte padrão compilation é o elemento não explicitamente configurado no arquivo Machine. config ou no arquivo Web. config raiz. No entanto, é a configuração padrão retornada pelo aplicativo. Itens são adicionados para o assemblies, buildProviders, e expressionBuilders coleções no arquivo Web. config raiz.

<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>

O seguinte elemento de compilação padrão é configurado no arquivo Machine. config na.NET Framework versão 1.1. Configurações semelhantes consta o.NET Framework versão 1.0, com exceção dos números de versão.

<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>

Exemplo

O exemplo de código a seguir demonstra como definir configurações de compilação para um aplicativo.

<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>

Informações do elemento

Manipulador da seção de configuração

CompilationSection

Membro de configuração

Compilation

Locais configuráveis

Machine.config

Web. config de nível de raiz

Web. config de nível de aplicativo

Virtual ou física directory–level Web. config

Requisitos

De Serviços de Informações da Internet da Microsoft (IIS) 5.0, 5.1 ou 6.0

.NET Framework 1.0, 1.1, 2.0

2003 De Visual Studio ou Visual Studio de 2005

Consulte também

Tarefas

Como: Configurar Diretórios Específicos Usando Configurações por Localização

Como: Bloquear definições de configuração ASP.NET

Referência

system.web Element (ASP.NET Settings Schema)

conjuntos de elemento de compilação (ASP.NET Configurações Schema)

buildProviders elemento para compilação (ASP.NET Configurações Schema)

codeSubDirectories elemento para compilação (ASP.NET Configurações Schema)

Elemento de compiladores para compilação (ASP.NET Configurações Schema)

expressionBuilders elemento para compilação (ASP.NET Configurações Schema)

configuração Element (Geral Configurações Schema)

System.Configuration

System.Web.Configuration

CompilationSection

Compilation

Conceitos

Visão geral da Compilação do ASP.NET

Visão geral da sintaxe de página da Web ASP.NET

Hierarquia e Herança do Arquivo de Configuração do ASP.NET

Protegendo a configuração do ASP.NET

Cenários de configuração ASP.NET

.NET Framework multiplataforma para projetos da Web do ASP.NET

Outros recursos

General Configuration Settings (ASP.NET)

ASP.NET Configuration Settings

Administração de Sites do ASP.NET

Arquivos de configuração ASP.NET

API de Configuração do ASP.NET