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