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


Общие свойства проектов MSBuild

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

Все проекты Visual Studio независимо от их типа имеют определенные общие свойства MSBuild. Кроме того, некоторые другие свойства используются очень часто. Ниже приведен список всех общих и часто используемых свойств.

Список общих свойств и параметров

Имя свойства или параметра

Описание

AdditionalLibPaths

Задает дополнительные папки, в которых компиляторы должны искать сборки ссылок.

AddModules

Все сведения из указанных файлов становятся доступны для компилируемого проекта. Это свойство равнозначно переключателю компилятора /addModules.

ALToolPath

Путь к файлу AL.exe. Это свойство переопределяет текущую версию AL.exe для использования другой версии.

ApplicationIcon

Файл значка .ico, передаваемый в компилятор для внедрения в качестве значка Win32. Это свойство равнозначно переключателю компилятора /win32icon.

ApplicationManifest

Указание пути к файлу, используемому для создания внешних данных манифеста по контролю учетных записей (UAC). Это свойство применяется к проектам Visual Studio, предназначенным для Windows Vista.

В большинстве случаев манифест является внедренным. Однако при использовании COM-компонентов без регистрации или развертывания ClickOnce манифест может быть внешним файлом, устанавливаемым вместе со сборками приложений. Дополнительные сведения содержатся в описании свойства NoWin32Manifest в данном разделе.

AssemblySearchPaths

Список расположений для поиска во время разрешения построения сборок ссылок. Порядок следования путей в списке важен, так как пути в начале списка имеют более высокий приоритет, чем последующие пути.

AssemblyName

Имя окончательной выходной сборки после построения проекта.

BaseAddress

Указание базового адреса главной выходной сборки. Это свойство равнозначно переключателю компилятора /baseaddress.

BaseOutputPath

Задает базовый путь для выходного файла. Если это свойство задано, MSBuild будет использовать OutputPath = $(BaseOutputPath)\$(Configuration)\. Пример синтаксиса: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath>

BaseIntermediateOutputPath

Задает базовый промежуточный путь для выходного файла. Пример синтаксиса: <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath>

BuildInParallel

Логическое значение, указывающее, выполняется ли построение или удаление ссылок параллельно при использовании MSBuild в мультипроцессорном режиме. По умолчанию используется значение true, которое означает, что построение проектов будет выполняться параллельно, если система имеет несколько ядер или процессоров.

BuildProjectReferences

Логическое значение, указывающее, выполняется ли построение ссылок с помощью MSBuild. Задайте значение false, если построение проекта ведется в изолированной среде разработки (IDE) Visual Studio,в противном случае задайте значение true.

BaseIntermediateOutputPath

Папка верхнего уровня, в которой создаются все промежуточные папки назначения, связанные с конфигурацией. По умолчанию используется значение "obj\".

CleanFile

Имя файла, который будет использоваться в качестве "средства очистки кэша". Средство очистки кэша — это список созданных файлов, которые необходимо удалить во время выполнения операции очистки. Файл перемещается в промежуточную папку назначения процессом построения.

Это свойство указывает только имена файлов, для которых отсутствует информация о пути.

CodePage

Задает кодовую страницу, которая должна использоваться для всех файлов исходного кода при компиляции. Это свойство равнозначно переключателю компилятора /codepage.

CompilerResponseFile

Необязательный файл ответа, который можно передать в задачи компилятора.

Configuration

Конфигурация, для которой выполняется построение: "Отладка" или "Выпуск".

CscToolPath

Путь к файлу csc.exe, компилятору Visual C#.

CustomBeforeMicrosoftCommonTargets

Имя файла проекта или целевых объектов, который должен быть импортирован автоматически перед импортом стандартных целевых объектов.

DebugSymbols

Логическое значение, указывающее, создаются ли построением символы.

Если в командной строке присвоено значение /p:DebugSymbols=false, создание символьных файлов базы данных (.pdb) отключается.

DefineConstants

Определение констант условной компиляции. Пары символов/значений разделяются точками с запятой и задаются с помощью приведенного ниже синтаксиса:

символ1 = значение1 ; символ2 = значение2

Это свойство равнозначно переключателю компилятора /define.

DefineDebug

Логическое значение, указывающее, требуется ли задавать константу DEBUG.

DefineTrace

Логическое значение, указывающее, требуется ли задавать константу TRACE.

DebugType

Задает уровень создаваемой отладочной информации. Допустимые значения: "full", "pdbonly" и "none".

DelaySign

Логическое значение, указывающее, требуется ли отложить подпись сборки или полностью подписать сборку.

DisabledWarnings

Отключение указанных предупреждений. Необходимо указать только числовую часть идентификатора предупреждения. Несколько предупреждений отделяются друг от друга точкой с запятой. Этот параметр соответствует переключателю /nowarn компилятора vbc.exe.

DisableFastUpToDateCheck

Логическое значение, применимое только к Visual Studio. Диспетчер построений Visual Studio использует процесс FastUpToDateCheck, чтобы определить, требуется ли перестраивание проекта для сохранения его актуальности. Этот процесс позволяет получить результат быстрее, чем MSBuild. Присвоение свойству DisableFastUpToDateCheck значения true позволяет обойти диспетчер построений Visual Studio принудить его использовать MSBuild для определения актуальности проекта.

DocumentationFile

Имя файла, создаваемого как файл XML-документации. Это имя включает только имя файла и не содержит информации о пути.

ErrorReport

Указание того, как задача компилятора должна указывать внутренние ошибки компилятора. Допустимые значения: "prompt", "send" и "none". Это свойство равнозначно переключателю компилятора /errorreport.

ExcludeDeploymentUrl

Свойство Задача GenerateDeploymentManifest добавляет в манифест развертывания тег deploymentProvider, если файл проекта включает любой из следующих элементов:

  • UpdateUrl

  • InstallUrl

  • PublishUrl

С помощью ExcludeDeploymentUrl можно предотвратить добавление тега deploymentProvider в манифест развертывания, даже если указан любой из приведенных выше URL-адресов. Для этого добавьте в файл проекта следующее свойство:

<ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>

Bb629394.alert_note(ru-ru,VS.90).gifПримечание.
ExcludeDeploymentUrl не предоставляется в IDE Visual Studio и может быть задан только с помощью ручного редактирования файла проекта. Установка данного свойства не влияет на публикацию в Visual Studio; поэтому тег deploymentProvider все равно будет добавлен URL-адрес, указанный с помощью PublishUrl.

FileAlignment

Определение (в байтах), где выровнять разделы выходного файла. Допустимые значения: 512, 1024, 2048, 4096, 8192. Это свойство эквивалентно переключателю компилятора /filealignment.

FrameworkPathOverride

Указание расположения библиотек mscorlib.dll и microsoft.visualbasic.dll. Этот параметр соответствует переключателю /sdkpath компилятора vbc.exe.

GenerateDocumentation

Логический параметр, указывающий, создается ли построением документация. Если присвоено значение true, сборка создает сведения о документации и помещает их в XML-файл вместе с именем выполняемого файла или библиотеки, созданных задачей построения.

IntermediateOutputPath

Полный промежуточный выходной путь, производный от BaseIntermediateOutputPath, если путь не указан. Например, \obj\debug\. Если данное свойство переопределено, то настройка BaseIntermediateOutputPath не оказывает никакого влияния.

KeyContainerName

Имя контейнера ключа строгого имени.

KeyOriginatorFile

Имя файла ключа строгого имени.

NoWin32Manifest

Определение того, создает ли компилятор манифест Win32 по умолчанию в выходной сборке. По умолчанию используется значение false, обозначающее, что манифест Win32 по умолчанию создается для всех приложений. Это свойство соответствует переключателю /nowin32manifest компилятора vbc.exe.

ModuleAssemblyName

Имя сборки, в которую должен быть включен скомпилированный модуль. Это свойство равнозначно переключателю компилятора /moduleassemblyname.

NoLogo

Логическое значение, указывающее, требуется ли отключить эмблему компилятора. Это свойство равнозначно переключателю компилятора /nologo.

NoStdLib

Логическое значение, указывающее, следует ли избегать ссылок на стандартную библиотеку (mscorlib.dll). По умолчанию используется значение false.

NoVBRuntimeReference

Логическое значение, указывающее, необходимо ли включить в проект в качестве ссылки среду выполнения Visual Basic (Microsoft.VisualBasic.dll).

NoWin32Manifest

Логическое значение, указывающее, внедряется ли информация о манифесте по контролю учетных записей (UAC) в выполняемый файл приложения. Это свойство применяется к проектам Visual Studio, предназначенным для Windows Vista. В проектах, развернутых с помощью ClickOnce и COM-компонентов без регистрации, данный элемент игнорируется. Значение False (по умолчанию) указывает, что информация о манифесте по контролю учетных записей (UAC) внедряется в выполняемый файл приложения. Значение True указывает, что информация о манифесте UAC не внедряется.

Это свойство применимо только для проектов Visual Studio, предназначенных для Windows Vista. В проектах, развернутых с помощью ClickOnce и COM-компонентов без регистрации, данное свойство игнорируется.

NoWin32Manifest необходимо добавить только в том случае, если не требуется, чтобы Visual Studio внедрял какую-либо информацию о манифесте в выполняемый файл приложения; этот процесс называется виртуализацией. Для использования виртуализации задайте <ApplicationManifest> вместе с <NoWin32Manifest>, как показано ниже:

  • Для проектов Visual Basic удалите узел <ApplicationManifest>. (В проектах Visual Basic<NoWin32Manifest> игнорируется, если существует узел <ApplicationManifest>.)

  • Для проектов Visual C# установите для <ApplicationManifest> значение False и для <NoWin32Manifest> значение True. (В проектах Visual C#<ApplicationManifest> переопределяет <NoWin32Manifest>.)

Optimize

Логическое значение, которое при установленном значении true разрешает оптимизацию компилятора. Это свойство равнозначно переключателю компилятора /optimize.

OptionCompare

Задает способ сравнения строк. Допустимые значения: "binary" или "text". Это свойство соответствует переключателю /optioncompare компилятора vbc.exe.

OptionExplicit

Логическое значение, которое при установленном значении true требует явного объявления переменных в исходном коде. Это свойство равнозначно переключателю компилятора /optionexplicit.

OptionInfer

Логическое значение, которое при установленном значении true разрешает определение типа переменных. Это свойство равнозначно переключателю компилятора /optioninfer.

OptionStrict

Логическое значение, при установленном значении true задача построения требует строгой семантики для ограничения неявного преобразования типов. Это свойство соответствует переключателю /optionstrict компилятора vbc.exe.

OutputPath

Это свойство обычно указывается в файле проекта и имеет много общего с OutDir. OutputPath устарело, поэтому, если возможно, следует использовать OutDir.

OutputType

Задает формат выходного файла. Этот параметр может принимать одно из следующих значений:

  • Library. Создание библиотеки кода. (Значение по умолчанию.)

  • Exe. Создание консольного приложения.

  • Module. Создание модуля.

  • Winexe. Создание программы для Windows.

Это свойство соответствует переключателю /target компилятора vbc.exe.

OverwriteReadOnlyFiles

Логическое значение, указывающее, требуется ли разрешить сборке перезапись файлов, доступных только для чтения, или выдавать ошибку.

PdbFile

Имя выдаваемого файла .pdb. Это свойство соответствует переключателю /pdb компилятора csc.exe.

Platform

Операционная система, для которой выполняется построение. Доступные значения: "AnyCPU", "x86", "x64" или "Itanium".

RemoveIntegerChecks

Логическое значение, показывающее, включены ли проверки ошибок переполнения для целых чисел. По умолчанию используется значение false. Это свойство соответствует переключателю /removeintchecks компилятора vbc.exe.

SGenUseProxyTypes

Логическое значение, указывающее, создаются ли типы прокси с помощью SGen.exe.

SGenToolPath

Дополнительный путь, указывающий расположение SGen.exe при переопределении текущей версии SGen.exe.

StartupObject

Указание класса или модуля, содержащего метод Main или процедуру Sub Main. Это свойство равнозначно переключателю компилятора /main.

ProcessorArchitecture

Архитектура процессора, используемая после разрешения ссылок на сборки. Доступные значения: "msil", "x86", "amd64" или "ia64".

RootNamespace

Корневое пространство имен, используемое при назначении имени внедренному ресурсу. Это пространство имен является частью имени манифеста внедренного ресурса.

Satellite_AlgorithmId

Идентификатор алгоритма хэширования AL.exe, используемого при создании вспомогательных сборок.

Satellite_BaseAddress

Базовый адрес, используемый при создании вспомогательных сборок, относящихся к конкретному языку и региональным параметрам, с помощью целевого объекта CreateSatelliteAssemblies.

Satellite_CompanyName

Имя компании для передачи в AL.exe во время создания вспомогательных сборок.

Satellite_Configuration

Имя конфигурации для передачи в AL.exe во время создания вспомогательных сборок.

Satellite_Description

Текст описания для передачи в AL.exe во время создания вспомогательных сборок.

Satellite_EvidenceFile

Внедрение указанного файла во вспомогательную сборку с именем ресурса "Security.Evidence".

Satellite_FileVersion

Задает строковое значение поля "Версия файла" во вспомогательной сборке.

Satellite_Flags

Задает значение поля "Флаги" во вспомогательной сборке.

Satellite_GenerateFullPaths

Указание того, что в задаче построения должны использоваться абсолютные пути для всех файлов, имена которых присутствуют в сообщении об ошибке.

Satellite_LinkResource

Связывание указанных файлов ресурсов со вспомогательной сборкой.

Satellite_MainEntryPoint

Задает полное имя (класс.метод) метода, являющееся точкой входа при преобразовании модуля в выполняемый файл во время создания вспомогательной сборки.

Satellite_ProductName

Задает строковое значение для поля "Product" во вспомогательной сборке.

Satellite_ProductVersion

Задает строковое значение для поля "ProductVersion" во вспомогательной сборке.

Satellite_TargetType

Задает формат выходного файла вспомогательной сборки: "library", "exe" или "win". По умолчанию используется значение "library".

Satellite_Title

Задает строковое значение для поля "Title" во вспомогательной сборке.

Satellite_Trademark

Задает строковое значение для поля "Trademark" во вспомогательной сборке.

Satellite_Version

Определение сведений о версии данной вспомогательной сборки.

Satellite_Win32Icon

Вставка во вспомогательную сборку файла значка .ico.

Satellite_Win32Resource

Вставка во вспомогательную сборку ресурса Win32 (файл .res).

TargetCompactFramework

Версия платформы .NET Compact Framework, необходимая для запуска создаваемого приложения. Указание данного значения позволяет ссылаться на определенные сборки .NET Framework, которые могут быть недоступны иным образом.

TargetFrameworkVersion

Версия .NET Framework, необходимая для запуска создаваемого приложения. Указание данного значения позволяет ссылаться на определенные сборки .NET Framework, которые могут быть недоступны иным образом.

TreatWarningsAsErrors

Если для данного логического параметра задано значение true, все предупреждения обрабатываются как ошибки. Этот параметр соответствует переключателю компилятора /nowarn.

UseHostCompilerIfAvailable

Если для данного логического параметра задано значение true, то задача построения использует внутрипроцессный объект компилятора. Этот параметр используется только в Visual Studio.

Utf8Output

Если для данного логического параметра задано значение true, выходные данные компилятора регистрируются в кодировке UTF-8. Этот параметр соответствует переключателю компилятора /utf8Output.

VbcToolPath

Дополнительный путь, указывающий другое расположение vbc.exe при переопределении текущей версии vbc.exe.

VbcVerbosity

Задает уровень детализации для выходных данных компилятора Visual Basic. Допустимые значения: "Quiet", "Normal" (значение по умолчанию) или "Verbose".

WarningsAsErrors

Задает список предупреждений, которые следует обрабатывать как ошибки. Этот параметр соответствует переключателю компилятора /warnaserror.

WarningsNotAsErrors

Задает список предупреждений, которые не следует обрабатывать как ошибки. Этот параметр соответствует переключателю компилятора /warnaserror.

Win32Manifest

Имя файла манифеста, который необходимо внедрить в окончательную сборку. Этот параметр соответствует переключателю компилятора /win32Manifest.

Wint32Resource

Имя файла ресурса Win32, который необходимо внедрить в окончательную сборку. Этот параметр соответствует переключателю компилятора /win32resource.

См. также

Ссылки

Общие элементы проектов MSBuild