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.