Attività ResolveComReference

Accetta un elenco costituito da uno o più nomi di librerie dei tipi o file con estensione tlb e risolve tali librerie in percorsi sul disco.

Parametri

Nella tabella che segue vengono descritti i parametri dell'attività ResolveCOMReference.

Parametro Descrizione
DelaySign Parametro Boolean facoltativo.

Se true, la chiave pubblica viene inserita nell'assembly. Se false, l'assembly viene firmato completamente.
EnvironmentVariables Parametro String[] facoltativo.

Matrice di coppie di variabili di ambiente, separate da segni di uguale. Tali variabili vengono passate ai file tlbimp.exe e aximp.exe compilati in aggiunta al blocco di ambiente regolare, oppure eseguendo l'override selettivo di tale blocco.
ExecuteAsTool Parametro Boolean facoltativo.

Se true, esegue i file tlbimp.exe e aximp.exe dal framework di destinazione appropriato in modalità out-of-process per generare gli assembly wrapper necessari. Questo parametro abilita il multitargeting.
IncludeVersionInInteropName Parametro Boolean facoltativo.

Se true, la versione typelib sarà inclusa nel nome del wrapper. Il valore predefinito è false.
KeyContainer Parametro String facoltativo.

Specifica un contenitore che include una coppia di chiavi pubblica/privata.
KeyFile Parametro String facoltativo.

Specifica un elemento che contiene una coppia di chiavi pubblica/privata.
NoClassMembers Parametro Boolean facoltativo.
ResolvedAssemblyReferences Parametro di output ITaskItem[] facoltativo.

Specifica i riferimenti all'assembly risolti.
ResolvedFiles Parametro di output ITaskItem[] facoltativo.

Specifica i file con nomi completi su disco che corrispondono alle posizioni fisiche delle librerie dei tipi fornite come input per questa attività.
ResolvedModules Parametro ITaskItem[] facoltativo.
SdkToolsPath Parametro System.String facoltativo.

Se ExecuteAsTool è true, questo parametro deve essere impostato sul percorso degli strumenti SDK per la versione di framework di destinazione.
StateFile Parametro String facoltativo.

Specifica il file di cache per i timestamp dei componenti COM. Se non presente, ogni esecuzione genererà nuovamente tutti i wrapper.
TargetFrameworkVersion Parametro String facoltativo.

Specifica la versione del framework di destinazione del progetto.

Il valore predefinito è String.Empty. Tale valore indica che non viene applicato alcun filtro a un riferimento in base al framework di destinazione.
TargetProcessorArchitecture Parametro String facoltativo.

Specifica l'architettura preferita del processore di destinazione. Viene passato al flag tlbimp.exe/machine dopo la conversione.

Il valore del parametro deve essere un membro di ProcessorArchitecture.
TypeLibFiles Parametro ITaskItem[] facoltativo.

Specifica il percorso del file della libreria dei tipi per i riferimenti COM. Gli elementi inclusi in questo parametro possono contenere metadati dell'elemento. Per altre informazioni, vedere la sezione Metadati dell'elemento TypeLibFiles riportata di seguito.
TypeLibNames Parametro ITaskItem[] facoltativo.

Specifica i nomi delle librerie dei tipi da risolvere. Gli elementi inclusi in questo parametro devono contenere alcuni metadati dell'elemento. Per altre informazioni, vedere la sezione Metadati dell'elemento TypeLibNames riportata di seguito.
WrapperOutputDirectory Parametro String facoltativo.

Percorso su disco in cui viene inserito l'assembly di interoperabilità generato. Se questi metadati di elemento non vengono specificati, l'attività userà il percorso assoluto della directory in cui si trova il file di progetto.

Metadati dell'elemento TypeLibNames

Nella tabella seguente vengono descritti i metadati disponibili per gli elementi passati al parametro TypeLibNames.

Metadati UFX Descrizione
GUID Metadati di elemento obbligatori.

GUID della libreria dei tipi. Se questi metadati di elemento non vengono specificati, l'attività avrà esito negativo.
VersionMajor Metadati di elemento obbligatori.

Versione principale della libreria dei tipi. Se questi metadati di elemento non vengono specificati, l'attività avrà esito negativo.
VersionMinor Metadati di elemento obbligatori.

Versione secondaria della libreria dei tipi. Se questi metadati di elemento non vengono specificati, l'attività avrà esito negativo.
EmbedInteropTypes Metadati Boolean facoltativi.

Se true, incorporare i tipi di interoperabilità da questo riferimento direttamente nell'assembly anziché generare una DLL di interoperabilità.
LocaleIdentifier Metadati di elemento facoltativi.

Identificatore delle impostazioni locali (LCID) per la libreria dei tipi. Viene specificato come valore a 32 bit che identifica la lingua preferita da un utente, un paese o un'applicazione. Se questi metadati di elemento non vengono specificati, l'attività userà l'identificatore delle impostazioni locali predefinito "0".
WrapperTool Metadati di elemento facoltativi.

Specifica lo strumento wrapper usato per generare il wrapper dell'assembly per la libreria dei tipi in oggetto. Se questi metadati di elemento non vengono specificati, l'attività userà lo strumento wrapper predefinito "tlbimp". Di seguito sono riportate le opzioni disponibili per typelibs (non viene fatta distinzione tra maiuscole e minuscole):

- Primary: usare questo strumento wrapper se si vuole usare un assembly di interoperabilità primario già generato per il componente COM. Quando si usa questo strumento wrapper, non specificare una directory di output del wrapper perché tale operazione determina l'esito negativo dell'attività.
- TLBImp: usare questo strumento wrapper se si vuole generare un assembly di interoperabilità per il componente COM.
- PrimaryOrTLBImp: usare questo strumento wrapper quando non si è certi se Primary o TLBImp è appropriato. La Primary logica viene applicata per prima, quindi TLBImp.
- AXImp: usare questo strumento wrapper per generare un assembly di interoperabilità per un controllo ActiveX.

Metadati dell'elemento TypeLibFiles

Nella tabella seguente vengono descritti i metadati disponibili per gli elementi passati al parametro TypeLibFiles.

Metadati UFX Descrizione
EmbedInteropTypes Parametro Boolean facoltativo.

Se true, incorporare i tipi di interoperabilità da questo riferimento direttamente nell'assembly anziché generare una DLL di interoperabilità.
WrapperTool Metadati di elemento facoltativi.

Specifica lo strumento wrapper usato per generare il wrapper dell'assembly per la libreria dei tipi in oggetto. Se questi metadati di elemento non vengono specificati, l'attività userà lo strumento wrapper predefinito "tlbimp". Di seguito sono riportate le opzioni disponibili per typelibs (non viene fatta distinzione tra maiuscole e minuscole):

- Primary: usare questo strumento wrapper se si vuole usare un assembly di interoperabilità primario già generato per il componente COM. Quando si usa questo strumento wrapper, non specificare una directory di output del wrapper perché tale operazione determina l'esito negativo dell'attività.
- TLBImp: usare questo strumento wrapper se si vuole generare un assembly di interoperabilità per il componente COM.
- AXImp: usare questo strumento wrapper per generare un assembly di interoperabilità per un controllo ActiveX.

Nota

Una maggiore quantità di informazioni fornite per identificare in maniera univoca una libreria dei tipi aumenta le probabilità di risoluzione dell'attività nel file corretto su disco.

Osservazioni:

Oltre ai parametri sopra elencati, quest'attività eredita i parametri dalla classe Task. Per un elenco di tali parametri aggiuntivi e le relative descrizioni, vedere Classe di base Task.

Per il corretto funzionamento di questa attività, non è necessario che la DLL COM sia registrata nel computer.

errore MSB4803

Se si tenta di eseguire un progetto che usa l'attività dai comandi dell'interfaccia ResolveCOMReference della dotnet riga di comando, viene visualizzato l'errore:

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

Questa attività non è supportata nella versione .NET Core di MSBuild, che viene usata quando si esegue il dotnet build comando dalla riga di comando. Provare a compilare il progetto richiamando MSBuild.exe dal prompt dei comandi per sviluppatori di Visual Studio, perché usa la versione .NET Framework di MSBuild.

Vedi anche