Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В MSBuild элемент представляет собой именованную ссылку на одну или несколько строк, таких как имена файлов. Элементы содержат метаданные, такие как имена файлов, пути и номера версий. Все типы проектов в Visual Studio имеют несколько общих элементов. Эти элементы определены в файле Microsoft.Build.CommonTypes.xsd.
В этой статье перечислены все общие элементы проекта, определенные в самом MSBuild. Элементы и свойства, предоставляемые пакетом SDK для .NET, описаны в справочнике ПО MSBuild для Microsoft.Net.Sdk.
Сама MSBuild не устанавливает никакое значение для необязательных метаданных, а метаданные без набора эквивалентны пустой строке. Поэтому значение по умолчанию для необязательных метаданных является пустой строкой. Однако значения метаданных иногда задаются в файлах SDK, которые неявно импортируются. Значения зависят от ссылки на пакет SDK.
Reference
Представляет ссылку на сборку .NET (управляемая) в проекте.
| Имя метаданных элемента | Description |
|---|---|
| HintPath | Необязательная строка. Относительный или абсолютный путь сборки. |
| Name | Необязательная строка. Отображаемое имя сборки, например System.Windows.Forms. |
| FusionName | Необязательная строка. Указывает простое или строгое имя слияния для элемента. Если этот атрибут присутствует, он может сэкономить время, так как файл сборки не должен быть открыт для получения имени fusion. |
| SpecificVersion | Необязательный логический элемент. Указывает, должна ли ссылаться только версия в имени fusion. |
| Aliases | Необязательная строка. Все псевдонимы для ссылки. |
| Private | Необязательный логический элемент. Указывает, следует ли скопировать ссылку в выходную папку. Этот атрибут соответствует свойству Copy Local ссылки, которая находится в интегрированной среде разработки Visual Studio. По умолчанию используется false. |
Note
Тип Reference элемента также можно использовать для ссылки на предварительно созданные сборки-оболочки для собственных COM-объектов, например при создании tlbimp.exe PIA (основной сборки взаимодействия). Этот тип ссылки является подходящим вариантом, если вы хотите предварительно создать сборки COM-оболочки самостоятельно с известными входными данными, а не полагаться на алгоритм MSBuild для создания com-оболочки во время сборки, которая представляет зависимость от состояния системного реестра на компьютере сборки, где выполняется MSBuild.
COMReference
Представляет ссылку на компонент COM (неуправляемый) в проекте. Этот элемент используется задачей ResolveComReference, которая создает сборки оболочки или, если EmbedInteropTypes используется, внедряет типы взаимодействия в сборку. Использование этого типа ссылки представляет зависимость от системного реестра на компьютере сборки, который используется для поиска указанного COM-объекта. Артефакты COM и записи COM в реестре могут изменяться, если продукты установлены, обновлены или удалены на компьютере (или при запуске той же сборки на другом компьютере), потенциально создавая другую сборку оболочки, даже если логика сборки не изменилась.
Этот элемент не относится к проектам non-.NET.
| Имя метаданных элемента | Description |
|---|---|
| Name | Необязательная строка. Отображаемое имя компонента. |
| Guid | Требуемая строка. GUID компонента в форме {12345678-1234-1234-1234-123456781234}. |
| VersionMajor | Требуемая строка. Основная часть номера версии компонента. Например, "5", если полный номер версии равен "5.46". |
| VersionMinor | Требуемая строка. Дополнительная часть номера версии компонента. Например, "46", если полный номер версии равен "5.46". |
| EmbedInteropTypes | Необязательный логический элемент. Если значение true, внедрение типов взаимодействия из этой ссылки непосредственно в сборку, а не создание библиотеки DLL взаимодействия. |
| Lcid | Необязательная строка. LocaleID для компонента. |
| WrapperTool | Необязательная строка. Имя средства-оболочки, используемого в компоненте. Значения: 1. первичный 2. tlbimp 3. primaryortlbimp 4. aximp |
| Isolated | Необязательный логический элемент. Указывает, является ли компонент компонентом без регрессии. По умолчанию используется false. |
См. сведения об устранении неполадок с COM-ссылками.
COMFileReference
Представляет список библиотек типов для ссылки по пути к файлу вместо использования системного реестра. Этот тип ссылки может быть хорошей альтернативой COMReference в тех случаях, когда вы хотите избежать зависимости от реестра компьютера сборки, либо из-за того, что учетная запись, которая выполняет сборку, не имеет повышенных привилегий для изменения реестра на сервере сборки, или вы не хотите, чтобы сборка зависела от состояния реестра. Если вы используете COMFileReference для ссылки на артефакт на системный путь, то сборка имеет зависимость от состояния системы. Если системный артефакт изменяется из-за изменения состояния системы, например при установке, обновлении или удалении продуктов (или при запуске той же сборки на другом компьютере), сборка оболочки может измениться, даже если логика сборки не изменилась. Чтобы обеспечить согласованный результат сборки, можно кэшировать известную копию артефакта COM в месте управления, например в папке проекта или решения, и ссылаться на нее, а не на системный артефакт.
Этот элемент не относится к проектам non-.NET.
| Имя метаданных элемента | Description |
|---|---|
| EmbedInteropTypes | Необязательный логический элемент. Если значение true, внедрение типов взаимодействия из этой ссылки непосредственно в сборку, а не создание библиотеки DLL взаимодействия. По умолчанию — false. |
| WrapperTool | Необязательная строка. Имя средства-оболочки, используемого в компоненте. Значения: 1. первичный 2. tlbimp 3. primaryortlbimp 4. aximp |
См. сведения об устранении неполадок с COM-ссылками.
NativeReference
Представляет собственный файл манифеста или ссылку на такой файл.
| Имя метаданных элемента | Description |
|---|---|
| Name | Требуемая строка. Базовое имя файла манифеста. |
| HintPath | Требуемая строка. Относительный путь к файлу манифеста. |
ProjectReference
Представляет ссылку на другой проект.
ProjectReference элементы преобразуются в ссылочные элементы целевым ResolveProjectReferences объектом, поэтому любые допустимые метаданные ссылки могут быть допустимыми ProjectReference, если процесс преобразования не перезаписывает его.
| Имя метаданных элемента | Description |
|---|---|
| Name | Необязательная строка. Отображаемое имя ссылки. |
| GlobalPropertiesToRemove | Необязательный string[]. Имена свойств, которые необходимо удалить при создании ссылаемого проекта, например RuntimeIdentifier;PackOnBuild. Значение по умолчанию пусто. |
| Project | Необязательная строка. GUID для ссылки в форме {12345678-1234-1234-1234-123456781234}. |
| OutputItemType | Необязательная строка. Тип элемента для вывода целевых выходных данных в. Значение по умолчанию пусто. Если для метаданных ссылки задано значение true (по умолчанию), целевые выходные данные становятся ссылками для компилятора. |
| ReferenceOutputAssembly | Необязательный логический элемент. Если задано значение false, не включает выходные данные указанного проекта в качестве ссылки на этот проект, но все равно гарантирует, что другой проект выполняет сборку перед этим проектом. По умолчанию используется true. |
| BuildReference | Необязательный логический элемент. По умолчанию используется true. Если задано значение false, этот ProjectReference не будет создан MSBuild. Его целевые объекты по умолчанию (см. "Целевые объекты" ниже) не будут вызываться вообще. |
| Private | Необязательный логический элемент. Указывает, следует ли скопировать ссылку в выходную папку. Этот атрибут соответствует свойству Copy Local ссылки, которая находится в интегрированной среде разработки Visual Studio. |
| SetConfiguration | Необязательная строка. Задает Configuration глобального свойства для указанного проекта, например Configuration=Release. |
| SetPlatform | Необязательная строка. Задает Platform глобального свойства для указанного проекта, например Platform=AnyCPU. |
| SetTargetFramework | Необязательная строка. Задает TargetFramework глобального свойства для указанного проекта, например TargetFramework=netstandard2.0. |
| SkipGetTargetFrameworkProperties | Необязательный логический элемент. Если true, создает указанный проект без согласования наиболее совместимого значения TargetFramework. По умолчанию используется false. |
| Targets | Необязательный string[]. Разделенный точкой с запятой список целевых объектов в указанных проектах, которые должны быть созданы. По умолчанию используется значение $(ProjectReferenceBuildTargets), которое по умолчанию пусто, указывающее целевые объекты по умолчанию. При создании в Visual Studio (в отличие от MSBuild.exe или dotnet build), указывая, что это не мешает Visual Studio создавать целевые объекты по умолчанию для указанного проекта. |
Note
Существует разница между работой ссылок на проекты между .NET Framework и .NET Core (включая .NET 5 и более поздние версии). В проектах .NET Framework ссылки на проекты не являются транзитивными. То есть, если Project1 ссылается на Project2 и Project2 ссылается на Project3, вы не можете код для Project3 из Project1. Однако в .NET Core (включая .NET 5 и более поздних версий), ссылки на проекты транзитивными. Вы можете код для Project3 в Project1.
Compile
Представляет исходные файлы компилятора.
| Имя метаданных элемента | Description |
|---|---|
| DependentUpon | Необязательная строка. Указывает файл, от который этот файл зависит от правильной компиляции. |
| AutoGen | Необязательный логический элемент. Указывает, был ли файл создан для проекта интегрированной средой разработки Visual Studio (IDE). По умолчанию используется false. |
| Link | Необязательная строка. Нотационный путь, отображаемый при физическом расположении файла вне влияния файла проекта. |
| Visible | Необязательный логический элемент. Указывает, следует ли отображать файл в обозревателе решений в Visual Studio. По умолчанию используется true. |
| CopyToOutputDirectory | Необязательная строка. Определяет, следует ли копировать файл в выходной каталог. Значения: 1. Никогда не 2. Всегда 3. СохранениеNewest 4. IfDifferent Значение Never по умолчанию, если DefineExplicitDefaults задано trueзначение; в противном случае по умолчанию используется пустая строка. |
EmbeddedResource
Представляет ресурсы, внедренные в созданную сборку.
| Имя метаданных элемента | Description |
|---|---|
| Culture | Необязательная строка. Задает язык и региональные параметры файла ресурса. Если задано, процесс сборки не выводит язык и региональные параметры на основе расширения файла (который зависит от языков и региональных параметров, доступных для .NET/OS на компьютере, где размещена сборка). Настоятельно рекомендуется задать Culture={culture identifier} или WithCulture=false метаданные. |
| WithCulture | Необязательный логическое значение. Указывает, что файл является нейтральным языком и языком и региональными параметрами, AssignCulture задача должна быть пропущена. Настоятельно рекомендуется задать Culture={culture identifier} или WithCulture=false метаданные. |
| DependentUpon | Необязательная строка. Указывает файл, который этот файл зависит от правильной компиляции |
| Generator | Необязательная строка. Имя любого генератора файлов, запущенного в этом элементе. |
| LastGenOutput | Необязательная строка. Имя файла, созданного любым генератором файлов, запущенным на этом элементе. |
| CustomToolNamespace | Необязательная строка. Пространство имен, в котором любой генератор файлов, работающий в этом элементе, должен создать код. |
| Link | Необязательная строка. Нотационный путь отображается, если файл физически расположен вне влияния проекта. |
| Visible | Необязательный логический элемент. Указывает, следует ли отображать файл в обозревателе решений в Visual Studio. |
| CopyToOutputDirectory | Необязательная строка. Определяет, следует ли копировать файл в выходной каталог. Значения: 1. Никогда не 2. Всегда 3. СохранениеNewest 4. IfDifferent Значение Never по умолчанию, если DefineExplicitDefaults задано trueзначение; в противном случае по умолчанию используется пустая строка. |
| LogicalName | Требуемая строка. Логическое имя внедренного ресурса. |
Content
Представляет файлы, которые не компилируются в проект, но могут быть внедрены или опубликованы вместе с ним.
| Имя метаданных элемента | Description |
|---|---|
| DependentUpon | Необязательная строка. Указывает файл, от который этот файл зависит от правильной компиляции. |
| Generator | Необязательная строка. Имя любого генератора файлов, работающего в этом элементе. |
| LastGenOutput | Необязательная строка. Имя файла, созданного любым генератором файлов, запущенным в этом элементе. |
| CustomToolNamespace | Необязательная строка. Пространство имен, в котором любой генератор файлов, работающий в этом элементе, должен создать код. |
| Link | Необязательная строка. Нотационный путь, отображаемый, если файл физически расположен вне влияния проекта. |
| PublishState | Требуемая строка. Состояние публикации содержимого: - По умолчанию -Включенный -Исключены — DataFile -Предпосылка |
| IsAssembly | Необязательный логический элемент. Указывает, является ли файл сборкой. |
| Visible | Необязательный логический элемент. Указывает, следует ли отображать файл в обозревателе решений в Visual Studio. |
| CopyToOutputDirectory | Необязательная строка. Определяет, следует ли копировать файл в выходной каталог. Значения: 1. Никогда не 2. Всегда 3. СохранениеNewest 4. IfDifferent Значение Never по умолчанию, если DefineExplicitDefaults задано trueзначение; в противном случае по умолчанию используется пустая строка. |
| TargetPath | Необязательная строка. Выходной путь (относительно каталога выходных данных конфигурации и (или) конкретной платформы) элемента, включая имя файла. Это учитывает метаданные Link, если они указаны. Если TargetPath не предоставлен, он вычисляется во время процесса сборки. См. раздел AssignTargetPath. |
None
Представляет файлы, которые не должны иметь роли в процессе сборки.
| Имя метаданных элемента | Description |
|---|---|
| DependentUpon | Необязательная строка. Указывает файл, от который этот файл зависит от правильной компиляции. |
| Generator | Необязательная строка. Имя любого генератора файлов, запущенного в этом элементе. |
| LastGenOutput | Необязательная строка. Имя файла, созданного любым генератором файлов, запущенным на этом элементе. |
| CustomToolNamespace | Необязательная строка. Пространство имен, в котором любой генератор файлов, работающий в этом элементе, должен создать код. |
| Link | Необязательная строка. Нотационный путь, отображаемый, если файл физически расположен вне влияния проекта. |
| Visible | Необязательный логический элемент. Указывает, следует ли отображать файл в обозревателе решений в Visual Studio. |
| CopyToOutputDirectory | Необязательная строка. Определяет, следует ли копировать файл в выходной каталог. Значения: 1. Никогда не 2. Всегда 3. СохранениеNewest 4. IfDifferent Значение Never по умолчанию, если DefineExplicitDefaults задано trueзначение; в противном случае по умолчанию используется пустая строка. |
AssemblyMetadata
Представляет атрибуты сборки, создаваемые как [AssemblyMetadata(key, value)].
| Имя метаданных элемента | Description |
|---|---|
| Include | Становится первым параметром (ключом) в конструкторе атрибутов AssemblyMetadataAttribute. |
| Value | Требуемая строка. Становится вторым параметром (значением) в конструкторе атрибутов AssemblyMetadataAttribute. |
Note
Этот элемент применяется к проектам с помощью пакета SDK для .NET 5 (и .NET Core) и более поздних версий.
InternalsVisibleTo
Указывает сборки, создаваемые как атрибуты сборки [InternalsVisibleTo(..)].
| Имя метаданных элемента | Description |
|---|---|
| Include | Имя сборки. |
| Key | Необязательная строка. Открытый ключ сборки. |
Note
Этот элемент применяется к проектам с помощью пакета SDK для .NET 5 (и .NET Core) и более поздних версий.
BaseApplicationManifest
Представляет базовый манифест приложения для сборки и содержит сведения о безопасности развертывания ClickOnce.
CodeAnalysisImport
Представляет проект FxCop для импорта.
Import
Представляет сборки, пространства имен которых следует импортировать компилятором Visual Basic.
Folder
Этот элемент используется только Visual Studio в качестве заполнителя для пустой папки. Когда папка заполняется, она заменяется другим элементом.