次の方法で共有


compilation 要素 (ASP.NET 設定スキーマ)

更新 : 2007 年 11 月

ASP.NET でアプリケーションのコンパイルに使用されるすべてのコンパイル設定値を構成します。

<configuration> 要素
  system.web 要素 (ASP.NET 設定スキーマ)
    compilation 要素 (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>

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性

説明

assemblyPostProcessorType

省略可能な String 型の属性です。

アセンブリのポストプロセッサを参照することによって、アセンブリのコンパイルの後処理手順を指定します。"アセンブリのポスト プロセッサ, アセンブリ" の形式を使用します。アセンブリのポスト プロセッサ は、IAssemblyPostProcessor インターフェイスを実装する必要があります。この後処理の方法を使用すると、コンパイル時に強制的にデバッグが行われ、配置モードの指定時にオーバーライドできます。

この属性は .NET Framework Version 2.0 で新たに追加されました。

既定値は空の文字列です。

batch

省略可能な Boolean 型の属性です。

バッチ処理がサポートされるかどうかを示します。

True の場合、最初にファイルにアクセスするときに必要なコンパイルにより引き起こされる遅延を除去します。この属性が True の場合、ASP.NET はコンパイルされていないすべてのファイルをバッチ モードでプリコンパイルしますが、最初にファイルがコンパイルされることで長い遅延が発生します。ただし、この最初の遅延の後、ファイルのその後のアクセスではコンパイルによる遅延が除去されます。

既定値は True です。

batchTimeout

省略可能な TimeSpan 属性です。

バッチ コンパイルのタイムアウトの時間を秒数で指定します。タイムアウトの時間内にコンパイルを完了できない場合、コンパイラは現在のページの単一コンパイル モードに戻ります。

既定値は "900" (15 分) です。

debug

省略可能な Boolean 型の属性です。

リテール バイナリではなくデバッグ バイナリをコンパイルするかどうかを指定します。

既定値は、False です。

defaultLanguage

省略可能な String 型の属性です。

動的コンパイル ファイルで使用する "C#" や "PERL" などの既定のプログラミング言語を指定します。言語名は、system.codeDom セクションの compilers 要素を使用して、または (推奨されていませんが) この要素の compilers 子要素を使用して定義します。

既定値は "vb" です。

explicit

省略可能な Boolean 型の属性です。

Microsoft Visual Basic の explicit コンパイル オプションを設定にするかどうかを指定します。True の場合、Dim、Private、Public、または ReDim ステートメントを使用してすべての変数を宣言する必要があります。

既定値は True です。

maxBatchGeneratedFileSize

省略可能な Int32 型の属性です。

バッチ コンパイルごとに生成されるソース ファイルの最大合計サイズ (KB 単位) を指定します。通常、実際に必要なビットが少ない場合は、膨大なアセンブリをメモリに読み込むのは適切ではありません。この制限より、アセンブリのサイズが適度な範囲に収まることになるため、システムをオーバーロードせずにアプリケーションがバッチ メカニズムの利点を活かすことができます。これは、maxBatchSize と同様です。

既定値は、1000 です。

maxBatchSize

省略可能な Int32 型の属性です。

バッチ コンパイルごとのページの最大数を指定します。

既定値は、1000 です。

numRecompilesBeforeAppRestart

省略可能な Int32 型の属性です。

アプリケーションが再起動されるまでに実行できるリソースの動的再コンパイルの数を指定します。この属性は、グローバル レベルとアプリケーション レベルではサポートされますが、ディレクトリ レベルではサポートされません。

s10awwz0.alert_note(ja-jp,VS.90).gifメモ :
アセンブリが無効になり、削除に失敗する度に、NumRecompilesBeforeAppRestart プロパティが増加します。

既定値は 15 です。

strict

省略可能な Boolean 属性です。

Visual Basic の strict コンパイル オプションを有効にするかどうかを指定します。

既定値は、False です。

tempDirectory

省略可能な String 型の属性です。

コンパイル時に一時ファイル ストレージとして使用するディレクトリを指定します。

既定値は、空の文字列 ("") です。

空の文字列で、現在のプロセスに必須のアクセス許可がある場合、ファイルは %FrameworkInstallLocation%\Temporary ASP.NET Files ディレクトリに格納されます。

高い信頼のアクセス許可があるプロセスのみが %FrameworkInstallLocation%\ Temporary ASP.NET Files にアクセスできます。

urlLinePragmas

省略可能な Boolean 属性です。

コンパイラで物理パスではなく URL を使用する必要があるかどうかを指定します。

既定値は、False です。

子要素

要素

説明

assemblies

ASP.NET リソースのコンパイル時に使用されるアセンブリの名前のコレクションを定義します。

buildproviders

カスタム リソース ファイルをコンパイルするために使用されるビルド プロバイダのコレクションを定義します。

この要素は、.NET Framework Version 2.0 で追加されました。

codeSubDirectories

実行時にコンパイルするファイルを含むサブディレクトリの順序付けられたコレクションを定義します。

この要素は、.NET Framework Version 2.0 で追加されました。

compilers

コンパイラ オプションのコレクションを定義します。

s10awwz0.alert_note(ja-jp,VS.90).gifメモ :
.NET Framework Version 2.0 では、system.codeDom セクションの compilers 要素のために、この要素の使用を避けるように推奨されています。ただし、compilation 要素の compilers 子要素はまだ有効で、system.codedom セクションにある compilers 要素をオーバーライドします。

expressionBuilders

コンパイル時に使用するリソース文字列のコレクションを定義します。リソース文字列は、プレフィックスを式ビルダに関連付けます。

この要素は、.NET Framework Version 2.0 で追加されました。

親要素

要素

説明

configuration

共通言語ランタイムおよび .NET Framework ベースのアプリケーションで使用されるすべての構成ファイルで必要なルート要素です。

system.web

構成ファイルの ASP.NET 構成設定にルート要素を指定します。ASP.NET Web アプリケーションの動作を構成する構成要素が含まれています。

解説

compilation 要素は、ASP.NET でアプリケーションのコンパイルに使用されるすべてのコンパイル設定値を構成します。

.NET Framework Version 2.0 では、system.codeDom セクションの compilers 要素のために、compilation 要素の compilers 子要素の使用は推奨されていません。ただし、compilation 要素の compilers 子要素はまだ有効で、system.codedom セクションにある compilers 要素をオーバーライドします。

既定の構成

次の既定の compilation 要素は、Machine.config ファイルまたはルートの Web.config ファイルでは明示的に構成されません。ただし、これはアプリケーションにより返される既定の構成です。項目は、ルートの Web.config ファイルにある assemblies コレクション、buildProviders コレクション、および expressionBuilders コレクションに追加されます。

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

次の既定の compilation 要素は、.NET Framework Version 1.1 の Machine.config ファイルで構成されます。.NET Framework Version 1.0 にも、バージョン番号以外は同じ設定が存在します。

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

使用例

アプリケーションのコンパイル設定を構成する方法を次のコード例に示します。

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

要素情報

構成セクション ハンドラ

CompilationSection

構成メンバ

Compilation

構成できる場所

Machine.config

ルート レベルの Web.config

アプリケーション レベルの Web.config

仮想ディレクトリ レベルまたは物理ディレクトリ レベルの Web.config

必要条件

Microsoft Internet Information Services (IIS) 5.0、5.1、または 6.0

.NET Framework 1.0、1.1、2.0

Visual Studio 2003 または Visual Studio 2005

参照

処理手順

方法 : Location の設定を使用して特定のディレクトリを構成する

方法 : ASP.NET 構成設定をロックする

概念

ASP.NET コンパイルの概要

ASP.NET Web ページの構文の概要

ASP.NET 構成ファイルの階層と継承

ASP.NET 構成の保護

ASP.NET の構成のシナリオ

参照

system.web 要素 (ASP.NET 設定スキーマ)

compilation の assemblies 要素 (ASP.NET 設定スキーマ)

compilation の buildProviders 要素 (ASP.NET 設定スキーマ)

compilation の codeSubDirectories 要素 (ASP.NET 設定スキーマ)

compilation の compilers 要素 (ASP.NET 設定スキーマ)

コンパイルに使用する expressionBuilders 要素 (ASP.NET 設定スキーマ)

configuration 要素 (全般設定スキーマ)

System.Configuration

System.Web.Configuration

CompilationSection

Compilation

その他の技術情報

全般構成設定 (ASP.NET)

ASP.NET 構成設定

ASP.NET Web サイトの管理

ASP.NET 構成ファイル

ASP.NET 構成 API