Элемент compilation (схема параметров ASP.NET)
Обновлен: Ноябрь 2007
Настраивает все параметры, используемые 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 версии 2.0. Значение по умолчанию — пустая строка. |
batch |
Необязательный атрибут Boolean. Указывает, поддерживается ли пакетный режим. Если значение этого атрибута равно True, то задержка для компиляции, которая необходима при первом обращении к файлу, устраняется. Когда этот атрибут установлен равным True, ASP.NET предварительно компилирует все нескомпилированные файлы в пакетном режиме, что вызывает еще более длительную задержку при первой компиляции файлов. Однако после этого при последующих обращениях к файлу задержка для компиляции отсутствует. Значение по умолчанию — True. |
batchTimeout |
Необязательный атрибут TimeSpan. Указывает период ожидания в секундах для пакетной компиляции. Если за период ожидания компиляция не может быть выполнена, компилятор возвращается к режиму одиночной компиляции для текущей страницы. Значение по умолчанию — "900" (15 минут). |
debug |
Необязательный атрибут Boolean. Указывает, следует ли при компиляции генерировать отладочные двоичные файлы вместо распространяемых. Значение по умолчанию — False. |
defaultLanguage |
Необязательный атрибутString. Задает язык программирования по умолчанию (например "C#" или PERL) для использования в файлах динамической компиляции. Имена языков определены с использованием элемента compilers раздела system.codeDom или дочернего элемента compilers данного элемента (устаревший вариант). Значение по умолчанию — "vb". |
explicit |
Необязательный атрибут Boolean. Указывает, следует ли устанавливать параметр компиляции explicit Microsoft Visual Basic. Если значение этого атрибута равно True, все переменные должны объявляться с использованием инструкции Dim, Private, Public или ReDim. Значение по умолчанию — True. |
maxBatchGeneratedFileSize |
Необязательный атрибут Int32. Задает максимальный совокупный размер созданных исходных файлов (в КБ) для пакетной компиляции. В общем случае нерационально загружать в память огромную сборку, если на самом деле требуется гораздо меньшее число фрагментов. Этот ограничение помогает обеспечить разумный размер построений, чтобы приложение использовало механизм пакетной компиляции, не перегружая систему. Данный атрибут аналогичен атрибуту maxBatchSize. Значение по умолчанию — 1000. |
maxBatchSize |
Необязательный атрибут Int32. Задает максимальное число страниц для пакетной компиляции. Значение по умолчанию — 1000. |
numRecompilesBeforeAppRestart |
Необязательный атрибут Int32. Задает число динамических перекомпиляций ресурсов, которые могут произойти перед повторным запуском приложения. Этот атрибут поддерживается на глобальном уровне и уровне приложения, но не на уровне каталога.
Примечание.
ASP.NET увеличивает значение свойства NumRecompilesBeforeAppRestart каждый раз, когда сборка аннулируется, и ее не удается удалить.
Значение по умолчанию — 15. |
strict |
Необязательный атрибут Boolean. Указывает, следует ли включать параметр компиляции strict Visual Basic. Значение по умолчанию — False. |
tempDirectory |
Необязательный атрибутString. Задает каталог, используемый для хранения временных файлов в процессе компиляции. Значение по умолчанию — пустая строка (""). Если в качестве значения задана пустая строка, и текущий процесс имеет необходимые разрешения на доступ, файлы сохраняются в каталоге %FrameworkInstallLocation%\ Temporary ASP.NET Files. Обратите внимание, что доступ к папке %FrameworkInstallLocation%\ Temporary ASP.NET Files предоставляется только процессам, имеющим разрешения с уровнем доверия High. |
urlLinePragmas |
Необязательный атрибут Boolean. Указывает, следует ли компилятору использовать URL-адреса вместо физических путей. Значение по умолчанию — False. |
Дочерние элементы
Элемент |
Описание |
---|---|
assemblies |
Определяет коллекцию имен сборок, используемых во время компиляции ресурса ASP.NET. |
buildproviders |
Определяет коллекцию поставщиков построений, которые используются для компиляции пользовательских файлов ресурсов. Этот элемент не использовался до .NET Framework версии 2.0. |
codeSubDirectories |
Определяет упорядоченную коллекцию подкаталогов, содержащих файлы, компилируемые во время выполнения. Этот элемент не использовался до .NET Framework версии 2.0. |
compilers |
Определяет коллекцию параметров компилятора.
Примечание.
В .NET Framework версии 2.0 этот элемент считается устаревшим, и вместо него следует использовать элемент compilers раздела system.codeDom. Однако использование дочернего элемента compilers элемента compilation остается возможным, и при этом переопределяется элемент compilers, находящийся в разделе system.codedom.
|
expressionBuilders |
Определяет коллекцию строк ресурсов, подлежащих использованию при компиляции. Строки ресурсов связывают префиксы с построителями выражений. Этот элемент не использовался до .NET Framework версии 2.0. |
Родительские элементы
Элемент |
Описание |
---|---|
configuration |
Задает обязательный корневой элемент любого файла конфигурации, используемого средой CLR и приложениями .NET Framework. |
system.web |
Задает корневой элемент для параметров конфигурации ASP.NET в файле конфигурации и содержит элементы, предназначенные для настройки поведения веб-приложений ASP.NET. |
Заметки
Элемент compilation настраивает все параметры, используемые ASP.NET для компиляции приложений.
В .NET Framework версии 2.0 дочерний элемент compilers элемента compilation не рекомендован к применению, вместо него следует использовать элемент compilers раздела system.codeDom. Однако использование дочернего элемента compilers элемента compilation остается возможным, и при этом переопределяется элемент compilers, находящийся в разделе system.codedom.
Настройки по умолчанию
Следующий элемент compilation не задан явно в файле Machine.config или в корневом файле Web.config. Однако он представляет собой конфигурацию по умолчанию, возвращаемую приложением. Элементы добавляются в коллекции assemblies, buildProviders и expressionBuilders корневого файла Web.config.
<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 задан по умолчанию в файле Machine.config в .NET Framework версии 1.1. Сходные настройки, за исключением номеров версий, присутствуют в .NET Framework версии 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 IIS версии 5.0, 5.1 или 6.0 .NET Framework версии 1.0, 1.1, 2.0 Visual Studio 2003 или Visual Studio 2005 |
См. также
Задачи
Практическое руководство. Настройка отдельных каталогов с помощью параметров расположения
Пошаговое руководство. Отключение параметров конфигурации ASP.NET
Основные понятия
Общие сведения о компиляции в ASP.NET
Общие сведения о синтаксисе веб-страниц ASP.NET
Иерархия и наследование файла конфигурации ASP.NET
Настройка обеспечения безопасности ASP.NET
Ссылки
Элемент system.web (схема параметров ASP.NET)
Элемент assemblies для элемента compilation (схема параметров ASP.NET)
Элемент buildProviders для элемента compilation (схема параметров ASP.NET)
Элемент codeSubDirectories для элемента compilation (схема параметров ASP.NET)
Элемент compilers для элемента compilation (схема параметров ASP.NET)
Элемент expressionBuilders для элемента compilation (схема параметров ASP.NET)
Элемент configuration (схема общих параметров)
Другие ресурсы
Общие параметры конфигурации (ASP.NET)
Параметры конфигурации ASP.NET