Элемент compilation (схема параметров ASP.NET)
Настраивает все параметры, используемые в 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]"
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>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
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. |
optimizeCompilations |
Необязательный атрибут элемента Boolean. Указывает, будет ли динамическая компиляция выполнять повторную компиляцию всего сайта при изменении файла верхнего уровня. Файлы верхнего уровня включают файл Global.asax и все файлы из папок Bin и App_Code. Если установлено значение True, то перекомпилируются только измененные файлы. По умолчанию используется значение False. Дополнительные сведения см. в разделе Основные сведения о динамической компиляции ASP.NET. |
strict |
Необязательный атрибут элемента Boolean. Указывает, следует ли включать параметр компиляции strict Visual Basic. По умолчанию используется значение False. |
targetFramework |
Необязательный атрибут элемента String. Задает версию платформы .NET Framework, для которой предназначен данный веб-сайт. По умолчанию используется значение Null. Если этот атрибут пропущен, целевая версия определяется другими параметрами в файле Web.config и пулом приложений IIS, с которым связан веб-сайт. Дополнительные сведения см. в разделах CompilationSection.TargetFramework и Настройка веб-проектов ASP.NET для нескольких версий .NET Framework. |
tempDirectory |
Необязательный атрибут элемента String. Задает каталог, используемый для хранения временных файлов в процессе компиляции. Значение по умолчанию — пустая строка (""). Если в качестве значения задана пустая строка, и текущий процесс имеет необходимые разрешения на доступ, файлы сохраняются в каталоге %FrameworkInstallLocation%\ Temporary ASP.NET Files. Обратите внимание, что доступ к папке %FrameworkInstallLocation%\ Temporary ASP.NET Files предоставляется только процессам, имеющим разрешения с уровнем доверия High. |
urlLinePragmas |
Необязательный атрибут элемента Boolean. Указывает, следует ли компилятору использовать URL-адреса вместо физических путей. По умолчанию используется значение False. |
Дочерние элементы
Элемент |
Описание |
---|---|
assemblies |
Определяет коллекцию имен сборок, используемых во время компиляции ресурса ASP.NET. |
buildProviders |
Определяет коллекцию поставщиков построений, которые используются для компиляции пользовательских файлов ресурсов. Дополнительные сведения см. в описании класса BuildProvider. |
codeSubDirectories |
Определяет упорядоченную коллекцию подкаталогов, содержащих файлы, компилируемые во время выполнения. |
compilers |
Определяет коллекцию параметров компилятора.
Примечание
В .NET Framework версии 2.0 и последующих версий этот элемент считается устаревшим. Вместо него следует использовать элемент compilers раздела system.codeDom.Однако использование дочернего элемента compilers элемента compilation допускается и переопределяет элемент compilers в разделе system.codedom.
|
expressionBuilders |
Определяет коллекцию строк ресурсов, подлежащих использованию при компиляции. Строки ресурсов связывают префиксы с построителями выражений. |
folderLevelBuildProviders |
Определяет коллекцию поставщиков построений, которые используются для компиляции пользовательских файлов ресурсов в конкретных папках. Поставщики построения сопоставляются с расширениями файлов и используются для создания кода из файлов указанного типа. Дополнительные сведения см. в описании класса FolderLevelBuildProvider. |
Родительские элементы
Элемент |
Описание |
---|---|
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>
Для .NET Framework версии 1.1 следующий элемент компиляции по умолчанию настраивается в файле Machine.config. Подобные параметры существуют в .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"
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>
Сведения об элементе
Обработчик раздела конфигурации |
|
Элемент конфигурации |
|
Настраиваемые расположения |
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
Ссылки
Элемент 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
Иерархия и наследование файла конфигурации ASP.NET
Настройка обеспечения безопасности ASP.NET
Настройка веб-проектов ASP.NET для нескольких версий .NET Framework
Другие ресурсы
Общие параметры конфигурации (ASP.NET)
Параметры конфигурации ASP.NET