Общие свойства проектов MSBuild
В следующей таблице перечислены часто используемые свойства, определяемые в файлах проектов Visual Studio или включаемые в TARGETS-файлы, предоставляемые MSBuild.
Файлы проектов в Visual Studio (с расширением .csproj, .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 |
Необязательный файл ответа, который можно передавать задачам компилятора. |
Конфигурация |
Конфигурация, для которой выполняется сборка: "Debug" или "Release". |
CscToolPath |
Путь к csc.exe — компилятору Visual C#. |
CustomBeforeMicrosoftCommonTargets |
Имя файла проекта или файла целей, автоматически импортируемого перед импортом общих целей. |
DebugSymbols |
Логическое значение, указывающее, создает ли сборка символы. Задание /p:DebugSymbols=false в командной строке отключает создание файлов символов базы данных программы (PDB). |
DefineConstants |
Задает константы условной компиляции. Пары "символ-значение" разделяются точками с запятой и задаются с использованием следующего синтаксиса: symbol1 = value1; symbol2 = value2 Это свойство эквивалентно переключателю /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, если файл проекта включает какой-либо из следующих элементов:
Однако с помощью параметра ИсключитьUrlАдресРазвертывания можно предотвратить добавление тега поставщикРазвертывания в манифест развертывания, даже если указан один из URL-адресов, заданных выше. Для этого добавьте в файл проекта следующее свойство: <ExcludeDeploymentUrl>true</ExcludeDeploymentUrl> Примечание Параметр ИсключитьUrlАдресРазвертывания не предоставляется в интегрированной среде разработки Visual Studio и может быть задан только путем редактирования файла проекта вручную. Это свойство не влияет на публикацию в Visual Studio; то есть тег поставщикРазвертывания все равно будет добавлен к URL-адресу, заданному элементом UrlАдресПубликации. |
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. |
Платформа |
Операционная система, для которой выполняется сборка. Допустимые значения: "Любой ЦП", "x86" и "x64". |
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 |
Задает строковое значение для поля File Version во вспомогательной сборке. |
Satellite_Flags |
Задает значение поля 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, необходимая для запуска собираемого приложения. Задание этого свойства позволяет ссылаться на определенные сборки платформы, которые иначе могут быть недоступны. |
TargetFrameworkVersion |
Версия .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. |
Win32Resource |
Имя файла ресурса Win32, который необходимо внедрить в окончательную сборку. Этот параметр эквивалентен переключателю компилятора /win32resource. |