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


ResolveComReference task

Принимает список из одного или нескольких имен библиотек типов или TLB-файлов и разрешает эти библиотеки типов в расположения на диске.

Parameters

В следующей таблице описаны параметры задачи ResolveCOMReference.

Parameter Description
DelaySign Необязательный параметр Boolean.

Если trueв сборке помещает открытый ключ. Если false, полностью подписывает сборку.
EnvironmentVariables Необязательный параметр String[].

Массив пар переменных среды, разделенных равными знаками. Эти переменные передаются в разреженные tlbimp.exe и aximp.exe в дополнение к регулярному блоку среды или выборочно переопределяются.
ExecuteAsTool Необязательный параметр Boolean.

Если true, выполняется tlbimp.exe и aximp.exe из соответствующей целевой платформы вне proc, чтобы создать необходимые сборки-оболочки. Этот параметр включает многоцелевой выбор.
IncludeVersionInInteropName Необязательный параметр Boolean.

Если trueверсия библиотеки типов включена в имя оболочки. Значение по умолчанию — false.
KeyContainer Необязательный параметр String.

Указывает контейнер, содержащий пару открытых и закрытых ключей.
KeyFile Необязательный параметр String.

Указывает элемент, содержащий пару открытого и закрытого ключа.
NoClassMembers Необязательный параметр Boolean.
ResolvedAssemblyReferences Необязательный параметр вывода ITaskItem[].

Указывает разрешенные ссылки на сборки.
ResolvedFiles Необязательный параметр вывода ITaskItem[].

Указывает полные файлы на диске, соответствующие физическим расположениям библиотек типов, которые были предоставлены в качестве входных данных для этой задачи.
ResolvedModules Необязательный ITaskItem[]параметр.
SdkToolsPath Необязательный параметр System.String.

Если ExecuteAsTool это trueтак, этот параметр должен иметь путь к средствам SDK для целевой версии платформы.
StateFile Необязательный параметр String.

Указывает файл кэша для меток времени компонента COM. В противном случае каждое выполнение повторно создает все оболочки.
TargetFrameworkVersion Необязательный параметр String.

Указывает версию целевой платформы проекта.

Значение по умолчанию — String.Empty. это означает, что фильтрация для ссылки на основе целевой платформы отсутствует.
TargetProcessorArchitecture Необязательный параметр String.

Задает предпочтительную архитектуру целевого процессора. Передается в флагtlbimp.exe/machine после перевода.

Значение параметра должно быть членом ProcessorArchitecture.
TypeLibFiles Необязательный параметр ITaskItem[].

Указывает путь файла библиотеки типов к COM-ссылкам. Элементы, включенные в этот параметр, могут содержать метаданные элемента. Дополнительные сведения см. в разделе "Метаданные элемента TypeLibFiles".
TypeLibNames Необязательный параметр ITaskItem[].

Указывает имена библиотек типов для разрешения. Элементы, включенные в этот параметр, должны содержать некоторые метаданные элемента. Дополнительные сведения см. в разделе "Метаданные элемента TypeLibNames".
WrapperOutputDirectory Необязательный параметр String.

Расположение на диске, где размещается созданная сборка взаимодействия. Если метаданные этого элемента не указаны, задача использует абсолютный путь к каталогу, в котором находится файл проекта.

Метаданные элемента TypeLibNames

В следующей таблице описываются метаданные элемента, доступные для элементов, передаваемых параметру TypeLibNames .

Metadata Description
GUID Обязательные метаданные элемента.

GUID библиотеки типов. Если метаданные этого элемента не указаны, задача завершается ошибкой.
VersionMajor Обязательные метаданные элемента.

Основной номер версии для библиотеки типов. Если метаданные этого элемента не указаны, задача завершается ошибкой.
VersionMinor Обязательные метаданные элемента.

Дополнительный номер версии для библиотеки типов. Если метаданные этого элемента не указаны, задача завершается ошибкой.
EmbedInteropTypes Необязательные Boolean метаданные.

Если true, внедряйте типы взаимодействия из этой ссылки непосредственно в сборку, а не создайте библиотеку DLL взаимодействия.
LocaleIdentifier Необязательные метаданные элемента.

Идентификатор языкового стандарта (или LCID) для библиотеки типов. Этот идентификатор указывается как 32-разрядное значение, определяющее человеческий язык, предпочитаемый пользователем, регионом или приложением. Если метаданные этого элемента не указаны, задача использует идентификатор языкового стандарта по умолчанию "0".
WrapperTool Необязательные метаданные элемента.

Указывает средство оболочки, используемое для создания оболочки сборки для этой библиотеки типов. Если метаданные этого элемента не указаны, задача использует средство оболочки по умолчанию tlbimp. Доступны доступные варианты без учета регистра библиотек типов:

- Primary: используйте это средство-оболочку, если вы хотите использовать уже созданную сборку первичного взаимодействия для com-компонента. При использовании этого средства оболочки не указывайте выходной каталог оболочки, так как это приводит к сбою задачи.
- TLBImp: используйте это средство-оболочку, если требуется создать сборку взаимодействия для com-компонента.
- PrimaryOrTLBImp: используйте это средство-оболочку, если вы не уверены, является ли Primary это TLBImp подходящим. Логика Primary применяется сначала, а затем TLBImp.
- AXImp: используйте это средство-оболочку, если требуется создать сборку взаимодействия для элемента ActiveX.

Метаданные элемента TypeLibFiles

В следующей таблице описываются метаданные элемента, доступные для элементов, передаваемых параметру TypeLibFiles .

Metadata Description
EmbedInteropTypes Необязательный параметр Boolean.

Если true, внедряйте типы взаимодействия из этой ссылки непосредственно в сборку, а не создайте библиотеку DLL взаимодействия.
WrapperTool Необязательные метаданные элемента.

Указывает средство оболочки, используемое для создания оболочки сборки для этой библиотеки типов. Если метаданные этого элемента не указаны, задача использует средство оболочки по умолчанию tlbimp. Доступны доступные варианты без учета регистра библиотек типов:

- Primary: используйте это средство-оболочку, если вы хотите использовать уже созданную сборку первичного взаимодействия для com-компонента. При использовании этого средства оболочки не указывайте выходной каталог оболочки, так как это приводит к сбою задачи.
- TLBImp: используйте это средство-оболочку, если требуется создать сборку взаимодействия для com-компонента.
- AXImp: используйте это средство-оболочку, если требуется создать сборку взаимодействия для элемента ActiveX.

Note

Чем больше информации вы предоставляете для уникальной идентификации библиотеки типов, тем больше вероятность того, что задача разрешается в правильный файл на диске.

Remarks

Помимо параметров, перечисленных в этой статье, эта задача наследует параметры из Task класса. Список этих дополнительных параметров и их описания см. в разделе базовый класс задачи.

Библиотеку COM-библиотеки не нужно зарегистрировать на компьютере, чтобы эта задача работала.

MSB4803 Error

При попытке запустить проект, использующий ResolveCOMReference задачу из dotnet команд CLI, вы получите ошибку:

MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild.

Эта задача не поддерживается в версии MSBuild .NET Core, которая используется при выполнении dotnet build команды из командной строки. Попробуйте построить проект, вызвав MSBuild.exe из командной строки разработчика Visual Studio, так как этот исполняемый файл использует версию MSBuild для .NET Framework.