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


Общие свойства проектов 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 в манифест развертывания, если файл проекта содержит любые из следующих элементов:,

  • UpdateUrl

  • InstallUrl

  • PublishUrl

С помощью 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>, как показано ниже:

  • Для проектов 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

Указывает путь к выходному каталогу относительно каталога проекта, например bin\Debug.

OutputType

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

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

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

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

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

Это свойство соответствует переключателю /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.

См. также

Ссылки

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