Список свойств и свойства
Необязательный раздел списка свойств используется для определения переменных и присвоения им значений (называемых «свойствами»), которые могут использоваться позднее в файле конфигурации. Свойства, определенные в данном разделе, называются «внутренними» свойствами.
<!-- define expandable properties --> <!-- optional --> <propertylist> <property name="projectname" value="myproject"/> <property name="projectdir" value="c:\myprojects"/> </propertylist>
Переменные («ссылки на свойства») также могут использоваться в файле конфигурации без необходимости определения в данном разделе. Например, они могут быть определены в командной строке или в среде окружения.
Свойства работают посредством замены строк с использованием следующего алгоритма для поиска значения, связанного с данным свойством:
- Проверка наличия значения свойства в списке внешних свойств.
- Если значение не найдено, проверка наличия значения в среде окружения по имени свойства.
- Если значение не найдено, поиск внутреннего определения в разделе списка свойств файла конфигурации.
- Если значение не найдено, в качестве значения используется пустая строка.
Внешние свойства передаются в командную строку с использованием параметра p
. Существует три встроенных внешних свойства:
- «applicationdir» содержит значение каталога, в котором установлено средство Dotfuscator;
- «appdatadir» содержит значение каталога локальных данных средства Dotfuscator;
- «configdir» содержит значение каталога расположения конфигурационных файлов.
Свойства обычно используются для создания файлов конфигурации, которые будут использоваться в качестве шаблонов для нескольких проектов или различных версий одного проекта либо для переносимости между различными средами сборки.
Синтаксис обращения к свойству следующий:
${property_name}
Идентификаторы свойств чувствительны к регистру символов, поэтому ${MyProjectDir}
и ${myprojectdir}
ссылаются на разные свойства.
Использование ссылок на свойства в файле конфигурации имеет некоторые ограничения. В настоящий момент ссылки на свойства могут использоваться только как значения в атрибутах «dir» или «name» элемента <file>. Ниже приводится список разделов, в которых используется элемент <file>:
inputassembly |
mapinput |
mapoutput |
output |
tempdir |
assembly |
removalreport |
transform |
key |
loadpaths |
program |
filelist |
В любом другом месте файла конфигурации ссылка на свойство будет интерпретироваться буквально.
Ссылки на свойства не могут быть вложенными. Попытка использовать вложение вызовет ошибку.
Ниже приводится пример использования ссылки на свойство:
<output> <file dir="${testdir}\output"/> </output>
© 2002-2007 PreEmptive Solutions. Все права защищены.