Общие свойства проектов MSBuild
В следующей таблице перечислены часто используемые свойства, определенные в файлах проекта Visual Studio или включены в файлах с расширением TARGETS, предоставляет MSBuild.
Файлы проекта в Visual Studio (с расширением VBPROJ, vcxproj и других) содержат код XML MSBuild, который выполняется при построении проекта с помощью интегрированной среды разработки.Обычно в проекты импортируется один или несколько TARGETS-файлов для определения процесса построения соответствующих целевых объектов.Для получения дополнительной информации см. Файлы Targets в MSBuild.
Список общих свойств и параметров
Имя свойства или параметра |
Описание |
---|---|
AdditionalLibPaths |
Задает дополнительные папки, в которых компиляторы должны искать сборки ссылок. |
AddModules |
Все сведения из указанных файлов становятся доступны для компилируемого проекта.Это свойство равнозначно переключателю компилятора /addModules. |
ALToolPath |
Путь к файлу AL.exe.Это свойство переопределяет текущую версию AL.exe для использования другой версии. |
ApplicationIcon |
Файл значка .ico, передаваемый в компилятор для внедрения в качестве значка Win32.Это свойство равнозначно переключателю компилятора /win32icon. |
ApplicationManifest |
Указание пути к файлу, используемому для создания внешних данных манифеста по контролю учетных записей (UAC).Это свойство применяется к проектам Visual Studio, предназначенным для Windows Vista. В большинстве случаев манифест является внедренным.Однако при использовании COM-компонентов без регистрации или развертывания ClickOnce манифест может быть внешним файлом, устанавливаемым вместе со сборками приложений.Дополнительные сведения содержатся в описании свойства NoWin32Manifest в данном разделе. |
AssemblyOriginatorKeyFile |
Задает файл, используемые для подписания сборки (SNK или PFX), который передается Задача ResolveKeySource для создания фактический ключ, который используется для подписи сборки. |
AssemblySearchPaths |
Список расположений для поиска во время разрешения построения сборок ссылок.Порядок следования путей в списке важен, так как пути в начале списка имеют более высокий приоритет, чем последующие пути. |
AssemblyName |
Имя окончательной выходной сборки после построения проекта. |
BaseAddress |
Указание базового адреса главной выходной сборки.Это свойство равнозначно переключателю компилятора /baseaddress. |
BaseOutputPath |
Задает базовый путь для выходного файла.Если это свойство задано, MSBuild будет использовать OutputPath = $(BaseOutputPath)\$(Configuration)\.Пример синтаксиса: <BaseOutputPath>c:\xyz\bin\</BaseOutputPath> |
BaseIntermediateOutputPath |
Папка верхнего уровня, в которой создаются все промежуточные папки назначения, связанные с конфигурацией.Значение по умолчанию — obj\.В следующем примере кода: <BaseIntermediateOutputPath>c:\xyz\obj\</BaseIntermediateOutputPath> |
BuildInParallel |
Логическое значение, указывающее, выполняется ли построение или удаление ссылок параллельно при использовании MSBuild в мультипроцессорном режиме.По умолчанию используется значение true, которое означает, что построение проектов будет выполняться параллельно, если система имеет несколько ядер или процессоров. |
BuildProjectReferences |
Логическое значение, указывающее, выполняется ли построение ссылок с помощью MSBuild.Задайте значение false, если построение проекта ведется в изолированной среде разработки (IDE) Visual Studio,в противном случае задайте значение true. |
CleanFile |
Имя файла, который будет использоваться в качестве "средства очистки кэша". Средство очистки кэша — это список созданных файлов, которые необходимо удалить во время выполнения операции очистки.Файл перемещается в промежуточную папку назначения процессом построения. Это свойство указывает только имена файлов, для которых отсутствует информация о пути. |
CodePage |
Задает кодовую страницу, которая должна использоваться для всех файлов исходного кода при компиляции.Это свойство равнозначно переключателю компилятора /codepage. |
CompilerResponseFile |
Необязательный файл ответа, который можно передать в задачи компилятора. |
Конфигурация. |
Конфигурация, для которой выполняется построение: "Отладка" или "Выпуск". |
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 в манифест развертывания, если файл проекта содержит любые из следующих элементов:,
С помощью ExcludeDeploymentUrl, однако можно предотвратить тега deploymentProvider из добавляться в манифест развертывания, даже если любой над укажите URL-адрес. Для этого добавьте следующее свойство в файл проекта. <ExcludeDeploymentUrl>true</ExcludeDeploymentUrl>
Примечание
ExcludeDeploymentUrl не предоставляется в интегрированной среде разработки 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>, как показано ниже:
|
Optimize |
Логическое значение, которое при установленном значении true разрешает оптимизацию компилятора.Это свойство равнозначно переключателю компилятора /optimize. |
OptionCompare |
Задает способ сравнения строк.Допустимые значения: "binary" или "text". Это свойство соответствует переключателю /optioncompare компилятора vbc.exe. |
OptionExplicit |
Логическое значение, которое при установленном значении true требует явного объявления переменных в исходном коде.Это свойство равнозначно переключателю компилятора /optionexplicit. |
OptionInfer |
Логическое значение, которое при установленном значении true разрешает определение типа переменных.Это свойство равнозначно переключателю компилятора /optioninfer. |
OptionStrict |
Логическое значение, при установленном значении true задача построения требует строгой семантики для ограничения неявного преобразования типов.Это свойство соответствует переключателю /optionstrict компилятора vbc.exe. |
OutputPath |
Указывает путь к выходному каталогу относительно каталога проекта, например bin\Debug. |
OutputType |
Задает формат выходного файла.Этот параметр может принимать одно из следующих значений:
Это свойство соответствует переключателю /target компилятора vbc.exe. |
OverwriteReadOnlyFiles |
Логическое значение, указывающее, требуется ли разрешить сборке перезапись файлов, доступных только для чтения, или выдавать ошибку. |
PdbFile |
Имя выдаваемого файла .pdb.Это свойство соответствует переключателю /pdb компилятора csc.exe. |
Платформа |
Операционная система, для которой выполняется построение.Доступные значения: "AnyCPU", "x86", "x64" или "Itanium". |
RemoveIntegerChecks |
Логическое значение, показывающее, включены ли проверки ошибок переполнения для целых чисел.Значение по умолчанию — false.Это свойство соответствует переключателю /removeintchecks компилятора vbc.exe. |
SGenUseProxyTypes |
Логическое значение, указывающее, создаются ли типы прокси с помощью SGen.exe. Целевой объект SGen использует это свойство, чтобы установить флаг UseProxyTypes.По умолчанию данное свойствоимеет значение "true", и пользовательского интерфейса для изменения этой настройки не существует.Чтобы создать сборку сериализации для типов, не относящихся к веб-службам, добавьте это свойство в файл проекта и присвойте ему значение "false" перед импортом Microsoft.Common.Targets или C#/VB.targets. |
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). |
SubsystemVersion |
Указывает минимальную версию подсистемы, создаваемый исполняемый файл может использовать.Это свойство равнозначно переключателю компилятора /subsystemversion.Дополнительные сведения о значении по умолчанию для этого свойства см. в разделе /subsystemversion (Visual Basic) или /subsystemversion (параметры компилятора C#). |
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". |
VisualStudioVersion |
Задает версию Visual Studio, в которой этот проект должен быть определен для выполнения.Если это свойство не задано, то MSBuild устанавливает его в разумному значение по умолчанию. Это свойство используется в нескольких типов проектов для определения набора целевых объектов, которые используются для построения.Если ToolsVersion имеет значение 4.0 или более для проекта, VisualStudioVersion используется для определения, часть набор инструментов, который следует использовать.Для получения дополнительной информации см. Набор инструментов MSBuild (ToolsVersion). |
WarningsAsErrors |
Задает список предупреждений, которые следует обрабатывать как ошибки.Этот параметр соответствует переключателю компилятора /warnaserror. |
WarningsNotAsErrors |
Задает список предупреждений, которые не следует обрабатывать как ошибки.Этот параметр соответствует переключателю компилятора /warnaserror. |
Win32Manifest |
Имя файла манифеста, который необходимо внедрить в окончательную сборку.Этот параметр соответствует переключателю компилятора /win32Manifest. |
Wint32Resource |
Имя файла ресурса Win32, который необходимо внедрить в окончательную сборку.Этот параметр соответствует переключателю компилятора /win32resource. |