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 型の属性です。 アプリケーションが再起動されるまでに実行できるリソースの動的再コンパイルの数を指定します。この属性は、グローバル レベルとアプリケーション レベルではサポートされますが、ディレクトリ レベルではサポートされません。
メモ :
アセンブリが無効になり、削除に失敗する度に、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 |
コンパイラ オプションのコレクションを定義します。
メモ :
.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>
要素情報
構成セクション ハンドラ |
|
構成メンバ |
|
構成できる場所 |
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 の設定を使用して特定のディレクトリを構成する
概念
参照
system.web 要素 (ASP.NET 設定スキーマ)
compilation の assemblies 要素 (ASP.NET 設定スキーマ)
compilation の buildProviders 要素 (ASP.NET 設定スキーマ)
compilation の codeSubDirectories 要素 (ASP.NET 設定スキーマ)
compilation の compilers 要素 (ASP.NET 設定スキーマ)
コンパイルに使用する expressionBuilders 要素 (ASP.NET 設定スキーマ)