Свойства MSBuild
Обновлен: Ноябрь 2007
Свойства представляют собой пары ключ-значение, с помощью которых выполняется настройка сборок. Свойства используются для передачи значения задачам, оценки условий и сохранения значений, на которые будут указывать ссылки в файле проекта.
Определение свойств и ссылки на них в файле проекта
Для объявления свойств создается элемент с именем свойства, который является дочерним по отношению к элементу PropertyGroup. Например, в следующем XML создается свойство BuildDir со значением Build.
<PropertyGroup>
<BuildDir>Build</BuildDir>
</PropertyGroup>
Для ссылки на свойства в файле проекта используется синтаксис $(PropertyName). Например, ссылка на свойство в предыдущем примере выглядит следующим образом: $(BuildDir).
Задание свойств из командной строки
В MSBuild можно задавать свойства из командной строки с помощью ключа командной строки /property или /p. Значения свойств, полученные из командной строки, переопределяют значения свойств, заданные в файле проекта, и значения свойств, унаследованные от переменных среды.
В следующем примере для свойства Configuration задается значение DEBUG.
MSBuild.exe MyProj.proj /p:Configuration=DEBUG
Зарезервированные свойства
В MSBuild некоторые имена свойств резервируются для сохранения информации о файле проекта и двоичных файлах MSBuild. В ссылках на эти свойства используется обозначение $, как и для любых других свойств. Дополнительные сведения см. в разделах Практическое руководство. Использование ссылки на имя или расположение файла проекта и Зарезервированные свойства MSBuild.
Переменные среды
Ссылки на переменные среды в файлах проектов выполняются так же, как ссылки на зарезервированные свойства. Например, чтобы использовать переменную среды в файле проекта, укажите $(Path). Если в файле проекта содержится определение свойства, имя которого совпадает с переменной среды, свойство из файла проекта переопределяет значение переменной среды. Дополнительные сведения см. в разделе Практическое руководство. Использование переменных среды в построении.
Сохранение XML в свойствах
Свойства могут содержать произвольные XML-элементы, предназначенные для передачи значений задачам или отображения информации журналов. В следующем примере показано свойство ConfigTemplate, значение которого содержит XML и ссылки на другие свойства. MSBuild заменяет ссылки на свойства соответствующими значениями свойств. Значения свойств интерпретируются сверху вниз, поэтому в данном примере свойства $(MySupportedVersion), $(MyRequiredVersion) и $(MySafeMode) уже должны быть определены.
<PropertyGroup>
<ConfigTemplate>
<Configuration>
<Startup>
<SupportedRuntime
ImageVersion="$(MySupportedVersion)"
Version="$(MySupportedVersion)"/>
<RequiredRuntime
ImageVersion="$(MyRequiredVersion)
Version="$(MyRequiredVersion)"
SafeMode="$(MySafeMode)"/>
</Startup>
</Configuration>
</ConfigTemplate>
</PropertyGroup>
См. также
Задачи
Практическое руководство. Использование переменных среды в построении
Практическое руководство. Использование ссылки на имя или расположение файла проекта