Tarea ResolveComReference

Toma una lista de uno o varios nombres de biblioteca de tipos o archivos .tlb y resuelve esas bibliotecas de tipos en ubicaciones de disco.

Parámetros

En la siguiente tabla se describen los parámetros de la tarea ResolveCOMReference .

Parámetro Descripción
DelaySign Parámetro Boolean opcional.

Si true, coloca la clave pública en el ensamblado. Si false, firma completamente el ensamblado.
EnvironmentVariables Parámetro String[] opcional.

Matriz de pares de variables de entorno, separados por signos igual. Estas variables se pasan a spawned tlbimp.exe y aximp.exe y, además, pasan el bloque de entorno normal o lo invalidan de manera selectiva.
ExecuteAsTool Parámetro Boolean opcional.

Si es true, se ejecutan tlbimp.exe y aximp.exe desde la plataforma de destino adecuada fuera de proceso para generar los ensamblados de contenedor necesarios. Este parámetro permite compatibilidad con múltiples versiones.
IncludeVersionInInteropName Parámetro Boolean opcional.

Si true, la versión typelib se incluirá en el nombre del contenedor. De manera predeterminada, es false.
KeyContainer Parámetro String opcional.

Especifica un contenedor que contiene un par de claves pública-privada.
KeyFile Parámetro String opcional.

Especifica un elemento que contiene un par de claves pública-privada.
NoClassMembers Parámetro Boolean opcional.
ResolvedAssemblyReferences Parámetro de salida ITaskItem[] opcional.

Especifica las referencias de ensamblado resueltas.
ResolvedFiles Parámetro de salida ITaskItem[] opcional.

Especifica los archivos completos en disco que corresponden a las ubicaciones físicas de las bibliotecas de tipos que se proporcionaron como entrada para esta tarea.
ResolvedModules Parámetro ITaskItem[] opcional.
SdkToolsPath Parámetro System.String opcional.

Si ExecuteAsTool es true, este parámetro debe establecerse en la ruta de acceso de las herramientas de SDK para la versión del marco que se tiene como destino.
StateFile Parámetro String opcional.

Especifica el archivo de caché para las marcas de tiempo del componente COM. Si no está presente, cada ejecución volverá a generar todos los contenedores.
TargetFrameworkVersion Parámetro String opcional.

Especifica la versión de la plataforma de destino del proyecto.

De manera predeterminada, es String.Empty. Significa que no existe filtrado para una referencia basándose en la plataforma de destino.
TargetProcessorArchitecture Parámetro String opcional.

Especifica la arquitectura del procesador de destino preferida. Se ha pasado a la marca de equipo tlbimp.exe después de la traducción.

El valor del parámetro debe ser un miembro de ProcessorArchitecture.
TypeLibFiles Parámetro ITaskItem[] opcional.

Especifica la ruta de acceso del archivo de biblioteca de tipos a las referencias COM. Los elementos incluidos en este parámetro pueden contener metadatos de elementos. Para más información, consulte la sección Metadatos de elementos TypeLibFiles a continuación.
TypeLibNames Parámetro ITaskItem[] opcional.

Especifica los nombres de las bibliotecas de tipos que se resolverán. Los elementos incluidos en este parámetro deben contener algunos metadatos de elementos. Para más información, consulte la sección Metadatos de elementos TypeLibNames a continuación.
WrapperOutputDirectory Parámetro String opcional.

Ubicación en el disco donde se coloca el ensamblado de interoperabilidad generado. Si estos metadatos de elementos no se especifican, la tarea usa la ruta de acceso absoluta del directorio donde se encuentra el archivo del proyecto.

Metadatos de elementos TypeLibNames

En la tabla siguiente se describen los metadatos de elementos disponibles para los elementos que se han pasado al parámetro TypeLibNames.

Metadatos Descripción
GUID Metadatos de elementos necesarios.

GUID de la biblioteca de tipos. Si estos metadatos de elementos no se especifican, se produce un error en la tarea.
VersionMajor Metadatos de elementos necesarios.

La versión principal de la biblioteca de tipos. Si estos metadatos de elementos no se especifican, se produce un error en la tarea.
VersionMinor Metadatos de elementos necesarios.

La versión secundaria de la biblioteca de tipos. Si estos metadatos de elementos no se especifican, se produce un error en la tarea.
EmbedInteropTypes Metadatos Boolean opcionales.

Si true, inserte los tipos de interoperabilidad de esta referencia directamente en el ensamblado en lugar de generar un archivo DLL de interoperabilidad.
LocaleIdentifier Metadatos de elementos opcionales.

El identificador de configuración regional (o LCID) de la biblioteca de tipos. Esto se especifica como un valor de 32 bits que identifica el lenguaje humano preferido por un usuario, una región o una aplicación. Si estos metadatos de elementos no se especifican, la tarea usa un identificador de configuración regional predeterminado de "0".
WrapperTool Metadatos de elementos opcionales.

Especifica la herramienta contenedor que se usa para generar el contenedor de ensamblado para esta biblioteca de tipos. Si estos metadatos de elementos no se especifican, la tarea usa una herramienta contenedor predeterminada de "tlbimp". Las opciones que no distinguen mayúsculas de minúsculas disponibles de typelibs son:

- Primary: Use esta herramienta contenedor cuando quiera usar un ensamblado de interoperabilidad primario que ya se ha generado para el componente COM. Cuando use esta herramienta contenedor, no especifique un directorio de salida del contenedor porque provocará un error en la tarea.
- TLBImp: Use esta herramienta contenedor cuando quiera generar un ensamblado de interoperabilidad para el componente COM.
- PrimaryOrTLBImp: use esta herramienta contenedora cuando no esté seguro de si Primary o TLBImp es adecuado. Primero se aplica la lógica Primary y, a continuación, TLBImp.
- AXImp: use esta herramienta contenedor cuando quiera generar un ensamblado de interoperabilidad para un control ActiveX.

Metadatos de elementos TypeLibFiles

En la tabla siguiente se describen los metadatos de elementos disponibles para los elementos que se han pasado al parámetro TypeLibFiles.

Metadatos Descripción
EmbedInteropTypes Parámetro Boolean opcional.

Si true, inserte los tipos de interoperabilidad de esta referencia directamente en el ensamblado en lugar de generar un archivo DLL de interoperabilidad.
WrapperTool Metadatos de elementos opcionales.

Especifica la herramienta contenedor que se usa para generar el contenedor de ensamblado para esta biblioteca de tipos. Si estos metadatos de elementos no se especifican, la tarea usa una herramienta contenedor predeterminada de "tlbimp". Las opciones que no distinguen mayúsculas de minúsculas disponibles de typelibs son:

- Primary: Use esta herramienta contenedor cuando quiera usar un ensamblado de interoperabilidad primario que ya se ha generado para el componente COM. Cuando use esta herramienta contenedor, no especifique un directorio de salida del contenedor porque provocará un error en la tarea.
- TLBImp: Use esta herramienta contenedor cuando quiera generar un ensamblado de interoperabilidad para el componente COM.
- AXImp: Use esta herramienta contenedor cuando quiera generar un ensamblado de interoperabilidad para un control ActiveX.

Nota:

Cuanta más información proporcione para identificar de manera exclusiva una biblioteca de tipos, mayor será la posibilidad de que la tarea resuelva el archivo correcto en el disco.

Comentarios

Además de los parámetros enumerados anteriormente, esta tarea hereda los parámetros de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte Task Base (Clase).

No es necesario registrar un archivo DLL COM en la máquina para que esta tarea funcione.

Error MSB4803

Si intenta ejecutar un proyecto que utiliza la tarea ResolveCOMReference desde los comandos de la CLI dotnet, obtiene el error:

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

Esta tarea no se admite en la versión de .NET Core de MSBuild, que es lo que se usa al ejecutar el comando dotnet build desde la línea de comandos. Intente compilar el proyecto invocando MSBuild.exe desde el Símbolo del sistema para desarrolladores de Visual Studio, ya que usa la versión .NET Framework de MSBuild.

Vea también