compilation 的 compilers 元素(ASP.NET 设置架构)

指定 ASP.NET 应用程序支持的编译器。

注意注意

在 .NET Framework 2.0 版中,此元素已被否决,而改为使用 system.codeDom 节的 compilers 元素。但是,使用 compilation 元素的 compilers 子元素仍然有效,并且将重写位于 system.codedom 节中的 compilers 元素。

<compilers> 
   <compiler language="language"
             extension="ext"
             type=".NET Type" 
             warningLevel="number"  
             compilerOptions="options"/>
</compilers>

特性和元素

以下几节描述了属性、子元素和父元素。

特性

无。

子元素

子标记

说明

compiler

定义新的编译器选项。

在 compiler 节中可以使用任意数目的 compiler 标记。

父元素

元素

说明

configuration

指定公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

system.web

指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种配置元素,这些配置元素配置 ASP.NET Web 应用程序并控制这些应用程序的行为方式。

compilation

配置 ASP.NET 用于编译应用程序的所有编译设置。

备注

compilers 元素指定 ASP.NET 应用程序支持的编译器。

在 .NET Framework 2.0 版中,此元素已被否决,而改为使用 system.codeDom 节的 compilers 元素。 但是,使用 compilation 元素的 compilers 子元素仍然有效,并且将重写位于 system.codedom 节中的 compilers 元素。

默认配置

默认情况下,在 .NET Framework 2.0 版中不配置 compilers 元素,因为 compilers 元素已被否决。 但是,system.codeDom 节中定义了一个默认 compilers 元素。 compilers 元素不是在 Machine.configuration 文件或根 Web.config 文件中显式配置的, 而是由应用程序返回的默认配置。。

<system.codedom>
   <compilers>
       <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%ECMA_PUBLICKEY%" warningLevel="1" />
       <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%ECMA_PUBLICKEY%" />
       <compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=8.0.1100.0, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%" />
       <compiler language="vj#;vjs;vjsharp" extension=".jsl" type="Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=%ASSEMBLY_VERSION%, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%" />
       <compiler language="c++;mc;cpp" extension=".h" type="Microsoft.VisualC.CppCodeProvider, CppCodeProvider, Version=8.0.0.0, Culture=neutral, PublicKeyToken=%MICROSOFT_PUBLICKEY%" />
   </compilers>
</system.codedom>

下面的默认 compilers 元素在 .NET Framework 1.1 版的 Machine.config 文件中配置。

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

下面的默认 compilers 元素在 .NET Framework 1.0 版的 Machine.config 文件中配置。

<compilers>
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</compilers>

示例

下面的代码示例演示如何为应用程序配置编译设置。

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

      </compilation>

元素信息

配置节处理程序

CompilationSection

配置成员

Compilers

CompilerCollection

可配置的位置

Machine.config

根级别的 Web.config

应用程序级别的 Web.config

虚拟或物理目录级别的 Web.config

要求

Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0

.NET Framework 版本 1.0、1.1 或 2.0

Microsoft Visual Studio 2003 或 Visual Studio 2005

请参见

任务

如何:使用位置设置配置特定目录

如何:锁定 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

Compilers

CompilerCollection

概念

ASP.NET 网页语法概述

ASP.NET 网页代码模型

ASP.NET 配置文件层次结构和继承

保证 ASP.NET 配置的安全

ASP.NET 配置方案

其他资源

常规配置设置 (ASP.NET)

ASP.NET 配置设置

ASP.NET 网站管理

ASP.NET 配置文件

ASP.NET 配置 API