Задача ResolveComReference
Задача принимает список из одной или нескольких библиотек типов или файлов TLB и определяет расположение этих библиотек на диске.
Параметры
В следующей таблице приводятся параметры задачи ResolveCOMReference
.
Параметр | Описание |
---|---|
DelaySign |
Необязательный параметр Boolean .Если присвоено значение true , помещает открытый ключ в сборку. Если присвоено значение false , полностью подписывает сборку. |
EnvironmentVariables |
Необязательный параметр String[] .Массив пар переменных среды, разделенных знаками равенства. Эти переменные частично передаются в порожденные процессы tlbimp.exe и aximp.exe, дополняя или выборочно переопределяя обычный блок среды. |
ExecuteAsTool |
Необязательный параметр Boolean .Если задано значение true , из соответствующей внепроцессной требуемой версии .NET Framework запустятся процессы Tlbimp.exe и Aximp.exe для создания необходимых сборок-оболочек. Этот параметр разрешает настройку для различных версий. |
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 .Указывает предпочитаемую архитектуру целевого процессора. После преобразования передается во флаг /machine tlbimp.exe. Значение параметра должно быть элементом ProcessorArchitecture. |
TypeLibFiles |
Необязательный параметр ITaskItem[] .Указывает путь к файлу библиотеки типов для COM-ссылок. Элементы, включенные в этот параметр, могут содержать метаданные элементов. Дополнительные сведения см. в разделе Метаданные элементов TypeLibFiles далее в этой статье. |
TypeLibNames |
Необязательный параметр ITaskItem[] .Указывает имена библиотек для разрешения. Элементы, включенные в этот параметр, должны содержать метаданные элементов. Дополнительные сведения см. в разделе Метаданные элементов TypeLibNames далее в этой статье. |
WrapperOutputDirectory |
Необязательный параметр String .Расположение на диске, куда помещается созданная сборка взаимодействия. Если эти метаданные элемента не заданы, задача использует абсолютный путь к каталогу, где располагается файл проекта. |
Метаданные элементов TypeLibNames
В следующей таблице описаны метаданные, которые доступны для элементов, передаваемых в параметр TypeLibNames
.
Метаданные | Description |
---|---|
GUID |
Обязательные метаданные элементов. Идентификатор GUID для библиотеки типов. Если эти метаданные элементов не заданы, задача завершается с ошибкой. |
VersionMajor |
Обязательные метаданные элементов. Основной номер версии для библиотеки типов. Если эти метаданные элементов не заданы, задача завершается с ошибкой. |
VersionMinor |
Обязательные метаданные элементов. Дополнительный номер версии для библиотеки типов. Если эти метаданные элементов не заданы, задача завершается с ошибкой. |
EmbedInteropTypes |
Необязательные метаданные типа Boolean .При значении true внедряет типы взаимодействия из этой ссылки непосредственно в сборку (а не создает библиотеку DLL взаимодействия). |
LocaleIdentifier |
Необязательные метаданные элементов. Код языка для библиотеки типов. Он указывается в виде 32-разрядного значения, которое определяет естественный язык, являющийся предпочитаемым для пользователя, региона или приложения. Если эти метаданные элементов не заданы, задача использует код языка по умолчанию "0". |
WrapperTool |
Необязательные метаданные элементов. Указывает средство-оболочку, используемое для создания сборки-оболочки для этой библиотеки типов. Если эти метаданные элементов не заданы, задача использует программу-оболочку по умолчанию "tlbimp". Доступные и чувствительные к регистру варианты библиотек типов: - Primary : используйте это средство-оболочку, когда требуется использовать уже созданную основную сборку взаимодействия для COM-компонента. При использовании этого средства-оболочки не указывайте выходной каталог оболочки, иначе произойдет сбой задачи.- TLBImp : используйте это средство-оболочку, когда требуется создать сборку взаимодействия для COM-компонента.- PrimaryOrTLBImp : Используйте это средство для создания оболочки, если не знаете, что вам подходит (Primary или TLBImp ). Сначала применяется логика Primary , а затем TLBImp .- AXImp : используйте это средство-оболочку, когда требуется создать сборку взаимодействия для элемента ActiveX. |
Метаданные элементов TypeLibFiles
В следующей таблице описаны метаданные, которые доступны для элементов, передаваемых в параметр TypeLibFiles
.
Метаданные | Description |
---|---|
EmbedInteropTypes |
Необязательный параметр Boolean .При значении true внедряет типы взаимодействия из этой ссылки непосредственно в сборку (а не создает библиотеку DLL взаимодействия). |
WrapperTool |
Необязательные метаданные элементов. Указывает средство-оболочку, используемое для создания сборки-оболочки для этой библиотеки типов. Если эти метаданные элементов не заданы, задача использует программу-оболочку по умолчанию "tlbimp". Доступные и чувствительные к регистру варианты библиотек типов: - Primary : используйте это средство-оболочку, когда требуется использовать уже созданную основную сборку взаимодействия для COM-компонента. При использовании этого средства-оболочки не указывайте выходной каталог оболочки, иначе произойдет сбой задачи.- TLBImp : используйте это средство-оболочку, когда требуется создать сборку взаимодействия для COM-компонента.- AXImp : используйте это средство-оболочку, когда требуется создать сборку взаимодействия для элемента ActiveX. |
Примечание.
Чем больше сведений вы предоставите для однозначного определения библиотеки типов, тем выше вероятность того, что задача разрешится в нужный файл на диске.
Замечания
Помимо перечисленных выше параметров эта задача наследует параметры от класса Task. Список этих дополнительных параметров и их описание см. в статье Базовый класс Task.
Для работы этой задачи не нужно регистрировать DLL-библиотеку COM на компьютере.
Ошибка MSB4803
При попытке запустить проект, который использует задачу ResolveCOMReference
из команд CLI dotnet
, возникает ошибка:
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".