Поделиться через


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

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 (x 86). Этот путь всегда указывает на файлы программы той же разрядности, что и окно, в котором выполняется запуск. Например, для 32-разрядного окна на 64-разрядном компьютере путь указывает папку "Program Files (x86)". Для 64-разрядного окна на 64-разрядном компьютере путь указывает папку "Program Files". См. также MSBuildExtensionsPath32 и MSBuildExtensionsPath64.

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

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

Примечание    Переменной среды MSBUILDLEGACYEXTENSIONSPATH можно присвоить значение, отличное от null, чтобы включить поведение MSBuildExtensionsPath в предыдущих версиях.

MSBuildExtensionsPath32

Вложенная папка MSBuild в папке \Program Files\ или \Program Files (x 86). Этот путь всегда указывает на 32-разрядные папки Program Files. Например, на 32-разрядном компьютере путь указывает папку "Program Files". На 64-разрядном компьютере путь указывает папку "Program Files (x86)". См. также MSBuildExtensionsPath и MSBuildExtensionsPath64.

MSBuildExtensionsPath64

Дочерняя папка MSBuild приложения в каталоге "\Program Files\". Этот путь всегда указывает на 64-разрядные папки Program Files. на 64-разрядном компьютере. На 32-разрядном компьютере этот путь является пустым. См. также MSBuildExtensionsPath и MSBuildExtensionsPath32.

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