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.