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

Обновлен: Ноябрь 2007

MSBuild предоставляет набор зарезервированных свойств для сохранения информации о файле проекта и двоичных файлах MSBuild. Значения для этих свойств присваиваются также, как и для других свойств MSBuild. Например, для использования свойства MSBuildProjectFile необходимо ввести:

$(MSBuildProjectFile)

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

В следующей таблице описаны зарезервированные свойства MSBuild.

Свойство

Описание

MSBuildProjectDirectory

Абсолютный путь к каталогу, где располагается файл проекта, например "C:\MyCompany\MyProduct".

MSBuildProjectFile

Полное имя файла проекта, включая расширение, например "MyApp.proj".

MSBuildProjectExtension

Расширение имени файла проекта, включая точку, например ".proj".

MSBuildProjectFullPath

Абсолютный путь к файлу проекта и его полное имя, например "C:\MyCompany\MyProduct\MyApp.proj".

MSBuildProjectName

Имя файла проекта без расширения, например "MyApp".

MSBuildBinPath

Абсолютный путь к каталогу, где находятся используемые в данный момент двоичные файлы MSBuild, например "C:\Windows\Microsoft.Net\Framework\v2.0". Это свойство используется в том случае, когда необходимо задать ссылку на файлы в каталоге MSBuild.

MSBuildProjectDefaultTargets

Полный список целевых объектов, указанных в атрибуте DefaultTargets элемента Project. Например, для следующего элемента Project свойство MSBuildDefaultTargets будет иметь значение A;B;C.

<Project DefaultTargets="A;B;C" >

MSBuildExtensionsPath

Папка MSBuild приложения в каталоге "Program Files". Это расположение хорошо подходит для хранения пользовательских файлов целевых объектов. Например, файлы целевых объектов могут быть установлены в "\Program Files\MSBuild\MyFiles\Northwind.targets", а затем импортированы в файлы проекта с помощью следующего XML-кода.

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

MSBuildStartupDirectory

Абсолютный путь к каталогу, из которого выполняется вызов MSBuild.

Это позволяет перейти в любую точку дерева проекта и выполнить построение всего, что расположено ниже этой точки, не создавая в каждом каталоге файлы типа "dirs.proj". Вместо этого используется один проект, пример которого назван "c:\traversal.proj":

<Project …>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

Затем в любой точке дерева необходимо ввести следующее:

msbuild c:\traversal.proj

См. также

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

Свойства MSBuild

Другие ресурсы

Справочные сведения о MSBuild