Зарезервированные и стандартные свойства MSBuild
В MSBuild предусмотрен набор предопределенных свойств для сохранения информации о файле проекта и двоичных файлах MSBuild. Значения этих свойств вычисляются так же, как и значения других свойств MSBuild. Например, для использования свойства MSBuildProjectFile необходимо ввести $(MSBuildProjectFile)
Для определения зарезервированных и известных свойств в MSBuild используются значения, приведенные в следующей таблице. Зарезервированные свойства переопределить нельзя, тогда как известные свойства можно переопределить с помощью свойств с идентичными именами (свойства среды, глобальные свойства или свойства, определенные в файле проекта).
Зарезервированные и известные свойства
В следующей таблице приведены предопределенные свойства, предусмотренные в MSBuild.
Свойство |
Описание |
Зарезервированное или известное |
---|---|---|
MSBuildBinPath |
Абсолютный путь к папке, где находятся используемые в данный момент двоичные файлы MSBuild (например, C:\Windows\Microsoft.Net\Framework\номер_версии). Этим свойством удобно пользоваться в случае, когда требуется сослаться на файлы в каталоге MSBuild. Не включайте в это свойство завершающую обратную косую черту. |
Зарезервированное |
MSBuildExtensionsPath |
Введено в .NET Framework 4: разницы между значениями по умолчанию MSBuildExtensionsPath и MSBuildExtensionsPath32 нет. Переменной среды MSBUILDLEGACYEXTENSIONSPATH можно присвоить значение, отличное от null, чтобы включить поведение, соответствующее значению по умолчанию MSBuildExtensionsPath в предыдущих версиях. В .NET Framework 3.5 и более ранних версиях значение по умолчанию MSBuildExtensionsPath указывает на путь к вложенной папке MSBuild в папке \Program Files или \Program Files (x86), в зависимости от разрядности текущего процесса. Например, для 32-разрядного процесса на 64-разрядном компьютере это свойство указывает папку на \Program Files (x86). Для 64-разрядного процесса на 64-разрядном компьютере это свойство указывает на папку \Program Files. Не включайте в это свойство завершающую обратную косую черту. Это расположение хорошо подходит для хранения пользовательских файлов целей. Например, файлы целей можно установить в папку \Program Files\MSBuild\MyFiles\Northwind.targets, а затем импортировать в файлы проекта с помощью следующего XML-кода: <Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/> |
Известное |
MSBuildExtensionsPath32 |
Путь к вложенной папке MSBuild в папке \Program Files\ или \Program Files (x86). Этот путь всегда указывает на папку \Program Files на 32-разрядном компьютере и на папку \Program Files (x86) на 64-разрядном компьютере. См. также MSBuildExtensionsPath и MSBuildExtensionsPath64. Не включайте в это свойство завершающую обратную косую черту. |
Известное |
MSBuildExtensionsPath64 |
Путь к вложенной папке MSBuild в папке \Program Files. На 64-разрядном компьютере этот путь всегда указывает на папку \Program Files. На 32-разрядном компьютере этот путь будет пустым. См. также MSBuildExtensionsPath и MSBuildExtensionsPath32. Не включайте в это свойство завершающую обратную косую черту. |
Известное |
MSBuildLastTaskResult |
Значение true, если предыдущая задача завершилась без ошибок (даже если были предупреждения), или значение false, если в предыдущей задаче были ошибки. Обычно, если в задаче возникает ошибка, эта ошибка — последнее, что происходит в проекте. Следовательно, это свойство никогда не принимает значение false, кроме как в следующих сценариях:
|
Зарезервированное |
MSBuildNodeCount |
Максимальное количество параллельных процессов, используемых при сборке. Это значение, заданное для параметра /maxcpucount в командной строке. Если параметр /maxcpucount указан без задания значения, MSBuildNodeCount указывает количество процессоров в компьютере. Дополнительные сведения см. в разделах Справочник по командной строке MSBuild и Параллельное построение нескольких проектов с помощью MSBuild. |
Зарезервированное |
MSBuildProgramFiles32 |
Расположение 32-разрядной папки программы; например, C:\Program Files (x86). Не включайте в это свойство завершающую обратную косую черту. |
Зарезервированное |
MSBuildProjectDefaultTargets |
Полный список целей, указанных в атрибуте DefaultTargets элемента Project. Например, для следующего элемента Project свойство MSBuildDefaultTargets будет иметь значение A;B;C: <Project DefaultTargets="A;B;C" > |
Зарезервированное |
MSBuildProjectDirectory |
Абсолютный путь к каталогу, где располагается файл проекта, например C:\MyCompany\MyProduct. Не включайте в это свойство завершающую обратную косую черту. |
Зарезервированное |
MSBuildProjectDirectoryNoRoot |
Значение свойства MSBuildProjectDirectory, за исключением корневого диска. Не включайте в это свойство завершающую обратную косую черту. |
Зарезервированное |
MSBuildProjectExtension |
Расширение имени файла проекта, включая точку, например ".proj". |
Зарезервированное |
MSBuildProjectFile |
Полное имя файла проекта, включая расширение, например "MyApp.proj". |
Зарезервированное |
MSBuildProjectFullPath |
Абсолютный путь к файлу проекта и его полное имя, включая расширение, например "C:\MyCompany\MyProduct\MyApp.proj". |
Зарезервированное |
MSBuildProjectName |
Имя файла проекта без расширения, например "MyApp". |
Зарезервированное |
MSBuildStartupDirectory |
Абсолютный путь к каталогу, из которого вызывается MSBuild. С помощью этого свойства можно собирать все, что находится ниже конкретной точки в дереве проекта, без создания файлов dirs.proj в каждом каталоге. Вместо этого у вас будет только один проект, — например, c:\traversal.proj, как показано ниже:
Чтобы выполнить сборку в любой точке дерева, введите следующее:
Не включайте в это свойство завершающую обратную косую черту. |
Зарезервированное |
MSBuildThisFile |
Часть MSBuildThisFileFullPath, представляющая собой имя и расширение файла. |
Зарезервированное |
MSBuildThisFileDirectory |
Часть MSBuildThisFileFullPath, представляющая собой каталог. Включите в путь завершающую обратную косую черту. |
Зарезервированное |
MSBuildThisFileDirectoryNoRoot |
Часть MSBuildThisFileFullPath, представляющая собой каталог, за исключением корневого диска. Включите в путь завершающую обратную косую черту. |
Зарезервированное |
MSBuildThisFileExtension |
Часть MSBuildThisFileFullPath, представляющая собой расширение имени файла. |
Зарезервированное |
MSBuildThisFileFullPath |
Абсолютный путь файла проекта или файла целей, содержащего запущенную цель. Совет В файле целей можно указать относительный путь, являющийся относительным для файла целей и не являющийся относительным для файла исходного проекта. |
Зарезервированное |
MSBuildThisFileName |
Часть MSBuildThisFileFullPath, представляющая собой имя файла без расширения. |
Зарезервированное |
MSBuildToolsPath |
Путь установки версии MSBuild, связанной со значением MSBuildToolsVersion. Не включайте в путь завершающую обратную косую черту. Это свойство нельзя переопределить. |
Зарезервированное |
MSBuildToolsVersion |
Версия набора инструментов MSBuild, используемая для сборки проекта. Примечание Набор инструментов MSBuild состоит из задач, целей и средств, используемых для сборки приложения.Средства включают компиляторы csc.exe и vbc.exe.Дополнительные сведения см. в разделах Набор инструментов MSBuild (ToolsVersion) и Стандартные и настраиваемые конфигурации наборов инструментов. |
Зарезервированное |