Свойства 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>

См. также

Задачи

Практическое руководство. Использование переменных среды в построении

Практическое руководство. Использование ссылки на имя или расположение файла проекта

Основные понятия

MSBuild

Общие сведения о MSBuild

Ссылки

Зарезервированные свойства MSBuild

Элемент Property (MSBuild)