Condividi tramite


Attività ResolveAssemblyReference

Determina tutti gli assembly che dipendono dagli assembly specificati. Include le dipendenze di secondo ed n ordine.

Parametri

Nella tabella riportata di seguito sono descritti i parametri dell'attività ResolveAssemblyReference.

Parametro

Descrizione

AllowedAssemblyExtensions

Parametro String[] facoltativo.

Le estensioni di file di assembly da utilizzare per la risoluzione dei riferimenti. Le estensioni di file predefinite sono exe e dll.

AllowedRelatedFileExtensions

Parametro String[] facoltativo.

Le estensioni dei file da utilizzare per ricerca di file reciprocamente correlati. Le estensioni predefinite sono pdb e xml.

AppConfigFile

Parametro String facoltativo.

Specifica un file app.config dal quale analizzare ed estrarre i mapping bindingRedirect. Se si specifica questo parametro, il parametro AutoUnify deve essere impostato su false.

AutoUnify

Parametro Boolean facoltativo.

Questo parametro viene utilizzato per la compilazione di assembly, ad esempio DLL, che non possono disporre di un file App.Config normale.

Se true, il grafico delle dipendenze che ne risulta viene automaticamente trattato come un file anApp.Config passato al parametro AppConfigFile. Nel file App.Config virtuale è inclusa una voce bindingRedirect per ogni set di assembly in conflitto, in modo che venga scelto l'assembly della versione più recente. Di conseguenza non verrà mai visualizzato alcun avviso relativo agli assembly in conflitto in quanto tutti i conflitti saranno stati risolti.

Se true, per ogni mapping distinto verrà creato un commento ad alta priorità nel quale vengono mostrate la versione nuova e quella vecchia e il valore di AutoUnify, vale a dire true.

Se true, il parametro AppConfigFile deve essere vuoto

Se false, non viene eseguito alcun nuovo mapping delle versioni degli assembly in modo automatico. Se sono presenti due versioni di un assembly, viene generato un avviso.

Se false, per ogni conflitto distinto tra due versioni diverse dello stesso assembly viene creato un commento a priorità elevata. Questi commenti sono seguiti da un solo avviso. L'avviso presenta un codice di errore univoco e il testo "Sono stati rilevati conflitti tra versioni diverse dello stesso assembly dipendente".

Assemblies

Parametro ITaskItem[] facoltativo.

Specifica gli elementi per cui si devono identificare i percorsi completi e le dipendenze. Questi elementi possono avere nomi semplici come "System" o nomi sicuri come "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089."

Gli elementi passati a questo parametro possono facoltativamente includere i seguenti metadati:

  • Valore Private: Boolean. Se impostato su true, l'elemento viene copiato in locale. Il valore predefinito è true.

  • Valore HintPath: String. Specifica il percorso e il nome file da utilizzare come riferimento. È utilizzato quando {HintPathFromItem} è specificato nel parametro SearchPaths. Il valore predefinito è una stringa vuota.

  • Valore SpecificVersion: Boolean. Se impostato su true, il nome specificato nell'attributo Include deve corrispondere esattamente. Se impostato su false, si potrà utilizzare qualsiasi assembly con lo stesso nome semplice. Se SpecificVersion non viene specificato, viene esaminato il valore nell'attributo Include dell'elemento. Se l'attributo è un nome semplice, si comporta come se SpecificVersion fosse impostato su false. Se l'attributo è un nome sicuro, si comporta come se SpecificVersion fosse impostato su true.

    Quando utilizzato con un tipo di elemento Reference, l'attributo Include deve essere il nome Fusion completo dell'assembly da risolvere. L'assembly viene risolto solo se la fusione corrisponde esattamente all'attributo Include.

    Quando un progetto è destinato a una versione di .NET Framework e fa riferimento a un assembly compilato per una versione successiva di .NET Framework, il riferimento viene risolto solo se presenta la proprietà SpecificVersion impostata su true.

    Quando un progetto è destinato a un profilo e fa riferimento a un assembly non presente nel profilo, il riferimento viene risolto solo se presenta la proprietà SpecificVersion impostata su true.

  • Valore ExecutableExtension: String. Quando viene specificato, l'assembly risolto dovrà avere questa estensione. Quando è assente, verrà considerata prima l'estensione dll e quindi l'estensione exe per ogni directory esaminata.

  • Valore SubType: String. Solo gli elementi con i metadati SubType vuoti verranno risolti in percorsi completi dell'assembly. Quelli con metadati SubType non vuoti vengono ignorati.

  • Valore AssemblyFolderKey: String. Questi metadati sono supportati per garantire la compatibilità con le versioni legacy. Specificano una chiave del Registro di sistema definita dall'utente, ad esempio "hklm\CartellaFornitore", che deve essere utilizzata da Assemblies per risolvere i riferimenti all'assembly.

AssemblyFiles

Parametro ITaskItem[] facoltativo.

Specifica un elenco di percorsi completi di assembly di cui cercare le dipendenze.

Gli elementi passati a questo parametro possono facoltativamente includere i seguenti metadati:

  • Private: un valore Boolean facoltativo. Se impostato su true, l'elemento viene copiato in locale.

  • FusionName: metadati String facoltativi. Specifica il nome semplice o il nome sicuro per l'elemento. Questo attributo, se specificato, consente di risparmiare tempo in quanto non comporta l'apertura del file di assembly per ottenere il nome.

AutoUnify

Parametro Boolean facoltativo.

Se è impostato su true, il grafico delle dipendenze risultante verrà automaticamente considerato come se nel parametro AppConfigFile venisse passato un file App.Config. Il file App.Config virtuale include una voce bindingRedirect per ogni insieme di assembly in conflitto, in modo che venga scelto l'assembly della versione più recente. Di conseguenza non verrà mai visualizzato alcun avviso relativo agli assembly in conflitto in quanto tutti i conflitti saranno stati risolti. Ogni nuovo mapping produrrà un commento a elevata priorità in cui verranno indicate le versioni precedenti e quelle nuove e verrà specificato che questa operazione è stata eseguita automaticamente in quanto AutoUnify era impostato su true.

Se il parametro è impostato su false, non verrà eseguito alcun mapping automatico delle versioni degli assembly. In presenza di due versioni di un assembly, verrà generato un avviso. Ogni conflitto tra versioni differenti dello stesso assembly produrrà un commento a elevata priorità. Una volta visualizzati tutti questi commenti, verrà visualizzato un singolo avviso con un codice di errore univoco e il testo "Sono stati rilevati conflitti tra versioni diverse dello stesso assembly dipendente".

Il valore predefinito è false.

CandidateAssemblyFiles

Parametro String[] facoltativo.

Specifica un elenco di assembly da utilizzare per il processo di ricerca e risoluzione. I valori passati a questo parametro devono essere nomi file assoluti o nomi file relativi al progetto.

Gli assembly in questo elenco verranno considerati quando il parametro SearchPaths conterrà {CandidateAssemblyFiles} tra i percorsi.

CopyLocalDependenciesWhenParentReferenceInGac

Parametro [Boolean] facoltativo.

Se true, per determinare se una dipendenza deve essere copiata localmente, uno dei controlli effettuati consiste nel verificare se per il riferimento padre nel file di progetto sono impostati i metadati Private. Se impostati, il valore Private viene utilizzato come dipendenza.

Se i metadati non sono impostati, la dipendenza verrà sottoposta agli stessi controlli del riferimento padre. Uno di questi controlli consiste nel verificare se il riferimento è incluso nella GAC. Se un riferimento si trova nella GAC, non viene copiato localmente, poiché si presuppone che sia incluso anche nella GAC del computer di destinazione. Tale condizione si applica solo a un riferimento specifico, non alle relative dipendenze.

Ad esempio, un riferimento nel file di progetto presente nella GAC non viene copiato localmente, mentre le relative dipendenze vengono copiate in modalità locale in quanto non sono incluse nella GAC.

Se false, viene verificato se i riferimenti al file di progetto sono presenti nella GAC e se non lo sono, vengono copiati localmente.

Per le dipendenze, si verificherà se sono incluse nella GAC e anche se il riferimento padre dal file di progetto è presente nella GAC.

Se il riferimento padre dal file di progetto è incluso nella GAC, la dipendenza non viene copiata localmente.

A prescindere dal fatto che questo parametro sia true o false, se sono presenti più riferimenti padre di cui alcuni non si trovano nella GAC, tutti i riferimenti padre vengono copiati localmente.

CopyLocalFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Restituisce i file nei parametri ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFiles e ScatterFiles con metadati dell'elemento CopyLocal impostati sul valore true.

FilesWritten

Parametro di output ITaskItem[] facoltativo.

Contiene gli elementi scritti su disco.

FindDependencies

Parametro Boolean facoltativo.

Se è impostato su true, le dipendenze verranno trovate. In caso contrario, verranno trovati solo i riferimenti primari. Il valore predefinito è true.

FindRelatedFiles

Parametro Boolean facoltativo.

Se è impostato su true, verranno trovati i file correlati come i file PDB e XML. Il valore predefinito è true.

FindSatellites

Parametro Boolean facoltativo.

Se è impostato su true, verranno trovati gli assembly satellite. Il valore predefinito è true..

FindSerializationAssemblies

Parametro Boolean facoltativo.

Se true, viene eseguita la ricerca degli assembly di serializzazione. Il valore predefinito è true.

FullFrameworkAssemblyTables

Parametro ITaskItem[] facoltativo.

Specifica gli elementi che dispongono dei metadati "FrameworkDirectory" per associare un elenco redist a una directory del framework specifica. Se l'associazione non viene eseguita, verrà registrato un errore. Nella logica di risoluzione del riferimento all'assembly (RAR, Resolve Assembly Reference), se FrameworkDirectory non è impostato, viene utilizzata la directory del framework di destinazione.

FullFrameworkFolders

Parametro [String][] facoltativo.

Specifica il set di cartelle in cui è contenuta una directory RedistList. Questa directory rappresenta il framework completo per un determinato profilo client, ad esempio, %programfiles%\reference assemblies\microsoft\framework\v4.0.

FullTargetFrameworkSubsetNames

Parametro String[] facoltativo.

Contiene un elenco di nomi di sottoinsieme .NET Framework di destinazione. Se il nome di un sottoinsieme dell'elenco corrisponde a uno presente nella proprietà di tipo nome TargetFrameworkSubset, il sistema esclude quel particolare sottoinsieme .NET Framework di destinazione in fase di compilazione.

IgnoreDefaultInstalledAssemblyTables

Parametro Boolean facoltativo.

Se true, vengono ricercate e utilizzate le tabelle aggiuntive dell'assembly installato ("elenchi redist") presenti nella directory \RedistList sotto TargetFrameworkDirectories. Il valore predefinito è false..

IgnoreDefaultInstalledAssemblySubsetTables

Parametro Boolean facoltativo.

Se true, vengono ricercate e utilizzate le tabelle aggiuntive del sottoinsieme dell'assembly installato ("Elenchi Subset") presenti nella directory \SubsetList sotto TargetFrameworkDirectories. Il valore predefinito è false..

InstalledAssemblySubsetTables

Parametro ITaskItem[] facoltativo.

Contiene un elenco di file XML che specificano gli assembly previsti nel sottoinsieme di destinazione.

Facoltativamente, gli elementi in questo elenco possono specificare i metadati "FrameworkDirectory" per associare un oggetto InstalledAssemblySubsetTable

a una particolare directory del framework.

Se è presente un solo elemento TargetFrameworkDirectories, qualsiasi elemento in questo elenco privo dei metadati "FrameworkDirectory" viene trattato come se fosse impostato sul valore univoco passato a TargetFrameworkDirectories.

InstalledAssemblyTables

Parametro String facoltativo.

Contiene un elenco di file XML che specificano gli assembly che si prevede siano installati nel computer di destinazione.

Quando InstalledAssemblyTables è impostato, le versioni precedenti degli assembly nell'elenco vengono unite nelle versioni più recenti elencate nell'XML. Inoltre, gli assembly che hanno l'impostazione InGAC='true' sono considerati prerequisiti e sono impostati su CopyLocal='false' a meno che non siano sottoposti a override esplicito.

Facoltativamente, gli elementi in questo elenco possono specificare i metadati "FrameworkDirectory" per associare un oggetto InstalledAssemblyTable a una particolare directory del framework. Tuttavia, questa impostazione viene ignorata a meno che il nome Redist inizi con

"Microsoft-Windows-CLRCoreComp".

Se è presente un solo elemento TargetFrameworkDirectories, qualsiasi elemento in questo elenco privo dei metadati "FrameworkDirectory" viene trattato come se fosse impostato sul valore univoco passato

a TargetFrameworkDirectories.

LatestTargetFrameworkDirectories

Parametro String[] facoltativo.

Specifica un elenco di directory in cui sono contenuti gli elenchi redist per il framework più aggiornato che può essere impostato come destinazione sul computer. Se non è impostato, verrà utilizzato il framework con la versione più recente installata nel computer per un determinato identificatore del framework di destinazione.

ProfileName

Parametro [String] facoltativo.

  • Specifica il nome del profilo del framework da utilizzare come destinazione. Ad esempio, Client, Web o Rete.

RelatedFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene file correlati, come i file XML e PDB che hanno lo stesso nome base come riferimento.

I file elencati in questo parametro possono facoltativamente contenere i seguenti metadati:

  • Valore Primary: Boolean. Se true, l'elemento del file è stato passato nella matrice tramite il parametro Assemblies. Il valore predefinito è false.

  • Valore CopyLocal: Boolean. Indica se è necessario copiare lo specifico riferimento nella directory di output.

ResolvedDependencyFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene i percorsi di n ordine delle dipendenze. Questo parametro non include i riferimenti primari di primo ordine, che sono contenuti nel parametro ResolvedFiles.

Gli elementi di questo parametro contengono facoltativamente i seguenti metadati:

  • Valore CopyLocal: Boolean. Indica se è necessario copiare lo specifico riferimento nella directory di output.

  • Valore FusionName: String. Specifica il nome della dipendenza.

  • Valore ResolvedFrom: String. Specifica il percorso di ricerca letterale dal quale è stato risolto il file.

ResolvedFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene un elenco di tutti i riferimenti primari risolti in percorsi completi.

Gli elementi di questo parametro contengono facoltativamente i seguenti metadati:

  • Valore CopyLocal: Boolean. Indica se è necessario copiare lo specifico riferimento nella directory di output.

  • Valore FusionName: String. Specifica il nome della dipendenza.

  • Valore ResolvedFrom: String. Specifica il percorso di ricerca letterale dal quale è stato risolto il file.

SatelliteFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Specifica i file satellite trovati. Tali file saranno CopyLocal=true se il riferimento o la dipendenza che ha generato questo elemento è CopyLocal=true.

Gli elementi di questo parametro contengono facoltativamente i seguenti metadati:

  • Valore CopyLocal: Boolean. Indica se è necessario copiare lo specifico riferimento nella directory di output. Questo valore è true se il riferimento o la dipendenza che ha generato l'elemento ha un valore CopyLocal pari a true.

  • Valore DestinationSubDirectory: String. Specifica la directory di destinazione relativa in cui copiare questo elemento.

ScatterFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene i file di tipo scatter associati a uno degli assembly specificati.

Gli elementi di questo parametro contengono facoltativamente i seguenti metadati:

  • Valore CopyLocal: Boolean. Indica se è necessario copiare lo specifico riferimento nella directory di output.

SearchPaths

Parametro String[] obbligatorio.

Specifica le directory o i percorsi speciali in cui viene eseguita la ricerca dei file su disco che rappresentano gli assembly. L'ordine in cui sono elencati i percorsi di ricerca è determinante. Per ogni assembly la ricerca nell'elenco dei percorsi viene eseguita da sinistra verso destra. Quando viene trovato un file che rappresenta l'assembly, la ricerca viene interrotta e inizia la ricerca dell'assembly successivo.

Questo parametro accetta i seguenti tipi di valore:

  • Un percorso di directory.

  • {HintPathFromItem}: specifica che durante l'attività verranno esaminati i metadati HintPath dell'elemento base.

  • {CandidateAssemblyFiles}: specifica che durante l'attività verranno esaminati i file passati mediante il parametro CandidateAssemblyFiles.

  • {Registry:_AssemblyFoldersBase_, _RuntimeVersion_, _AssemblyFoldersSuffix_}:

  • {AssemblyFolders}: specifica che verrà utilizzato lo schema di ricerca degli assembly dal Registro di sistema di Visual Studio .NET 2003.

  • {GAC}: specifica che durante l'attività verrà eseguita una ricerca nella Global Assembly Cache.

  • {RawFileName}: specifica che durante l'attività il valore Include dell'elemento verrà considerato come percorso e nome file esatto.

SerializationAssemblyFiles

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene qualsiasi assembly di serializzazione XML trovato. Tali elementi sono contrassegnati CopyLocal=true unicamente se il riferimento o la dipendenza di cui sono conseguenza è CopyLocal=true.

Con i metadati Boolean CopyLocal viene indicato se il riferimento dato deve essere copiato nella directory di output.

Silent

Parametro Boolean facoltativo.

Se è impostato su true, non verrà registrato alcun messaggio. Il valore predefinito è false.

StateFile

Parametro String facoltativo.

Specifica un nome file che indica se salvare lo stato di compilazione intermedio per questa attività.

SuggestedRedirects

Parametro di output di sola lettura ITaskItem[] facoltativo.

Contiene un elemento per ogni singola identità dell'assembly in conflitto, indipendentemente dal valore del parametro AutoUnify. Sono incluse le impostazioni cultura e il PKT la cui voce bindingRedirect nel file di configurazione dell'applicazione non è corretta.

Ogni elemento contiene facoltativamente le informazioni seguenti:

  • Attributo Include: contiene il nome completo della famiglia di assembly con il campo Version impostato sul valore 0.0.0.0

  • Metadati dell'elemento MaxVersion: contiene il numero massimo di versioni.

TargetedRuntimeVersion

Parametro String facoltativo.

Specifica la versione runtime da utilizzare come destinazione, ad esempio, 2.0.57027 o v2.0.57027.

TargetFrameworkDirectories

Parametro String[] facoltativo.

Specifica il percorso della directory .NET Framework di destinazione. Questo parametro è necessario per stabilire lo stato CopyLocal degli elementi risultanti.

Se non viene specificato, nessun elemento risultante avrà il valore CopyLocal impostato su true, a meno che il valore di metadati Private non sia impostato esplicitamente su true nel relativo elemento di origine.

TargetFrameworkMoniker

Parametro String facoltativo.

Elemento TargetFrameworkMoniker da monitorare, se presente. Viene utilizzato per la registrazione.

TargetFrameworkMonikerDisplayName

Parametro String facoltativo.

Nome visualizzato dell'elemento TargetFrameworkMoniker da monitorare, se presente. Viene utilizzato per la registrazione.

TargetFrameworkSubsets

Parametro String[] facoltativo.

Contiene un elenco di nomi di sottoinsieme .NET Framework di destinazione in cui eseguire la ricerca delle directory .NET Framework di destinazione.

TargetFrameworkVersion

Parametro String facoltativo.

La versione di .NET Framework di destinazione del progetto. Il valore predefinito è vuoto e indica che non è disponibile un filtro per i riferimenti di .NET Framework di destinazione.

TargetProcessorArchitecture

Parametro String facoltativo.

L'architettura preferita del processore di destinazione. Utilizzato per risolvere i riferimenti alla Global Assembly Cache (GAC).

Il parametro può essere impostato su x86, IA64 o AMD64.

Se questo parametro non è specificato, verranno presi in considerazione innanzitutto gli assembly che corrispondono all'architettura del processo attualmente in esecuzione. Se non viene trovato alcun assembly, verranno presi in considerazione gli assembly nella Global Assembly Cache per i quali l'elemento ProcessorArchitecture è impostato sul valore MSIL o su nessun valore ProcessorArchitecture.

Note

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

Vedere anche

Concetti

Attività di MSBuild

Altre risorse

Riferimenti delle attività MSBuild