Condividi tramite


ResolveAssemblyReference (attività)

Determina tutti gli assembly che dipendono dall'assembly specificato, incluse dipendenze di secondo e n ordine. Vedere anche Risolvere gli errori di compilazione con i riferimenti agli assembly.

Parametri

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

Parametro Descrizione
AllowedAssemblyExtensions Parametro String[] facoltativo.

Estensioni di file di assembly da usare per la risoluzione dei riferimenti. Le estensioni dei nomi di file predefinite sono exe e dll.
AllowedRelatedFileExtensions Parametro String[] facoltativo.

Estensioni di file da usare per una ricerca di file correlati tra loro. Le estensioni predefinite sono pdb e xml.
AppConfigFile Parametro String facoltativo.

Specifica un file app.config da cui analizzare ed estrarre mapping bindingRedirect. Se questo parametro è specificato, il parametro AutoUnify deve essere false.
Assemblies Parametro ITaskItem[] facoltativo.

Specifica gli elementi per cui devono essere identificati 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 avere i metadati degli elementi seguenti:

- Private: valore Boolean . Se true, l'elemento viene copiato in locale. Il valore predefinito è true.
- HintPath: valore String . Specifica il percorso e il nome file da usare come riferimento. Questi metadati vengono usati quando {HintPathFromItem} vengono specificati nel SearchPaths parametro . Il valore predefinito è una stringa vuota.
- SpecificVersion: valore Boolean . Se true, il nome esatto specificato nell'attributo Include deve corrispondere. Se false, qualsiasi assembly con lo stesso nome semplice funziona. Se SpecificVersion non viene specificato, l'attività esamina il valore nell'attributo dell'elemento Include . Se l'attributo è un nome semplice, si comporta come se SpecificVersion è impostato su false. Se l'attributo è un nome sicuro, si comporta come se SpecificVersion è impostato su true.
Se usato 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 il nome Fusion corrisponde esattamente all'attributo Include .
Quando un progetto ha come destinazione una versione di .NET Framework e fa riferimento a un assembly compilato per una versione di .NET Framework più recente, il riferimento viene risolto solo se SpecificVersion è impostato su true.
Quando un progetto è destinato a un profilo e fa riferimento a un assembly che non si trova nel profilo, il riferimento viene risolto solo se è SpecificVersion impostato su true.
- ExecutableExtension: valore String . Se presente, l'assembly risolto deve avere questa estensione. Se assente, dll viene considerato per primo, seguito da .exe, per ogni directory esaminata.
- SubType: valore String . Solo gli elementi con metadati vuoti SubType vengono risolti in percorsi di assembly completi. Gli elementi con metadati non distribuiti SubType vengono ignorati.
- AssemblyFolderKey: valore String . Questi metadati sono supportati per scopi di compatibilità con le versioni precedenti. Specifica una chiave del Registro di sistema definita dall'utente, ad esempio hklm\<VendorFolder>, che Assemblies deve usare per risolvere i riferimenti all'assembly.
AssemblyFiles Parametro ITaskItem[] facoltativo.

Specifica un elenco di assembly completi per i quali trovare le dipendenze.

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

- Private: valore Boolean facoltativo. Se true, l'elemento viene copiato in locale.
- FusionName: metadati String facoltativi. Specifica il nome semplice o sicuro per questo elemento. Se questo attributo è presente, può risparmiare tempo perché il file di assembly non deve essere aperto per ottenere il nome.
AssemblyInformationCacheOutputPath Parametro String facoltativo.

Se non null, serializza le informazioni indipendenti dal computer sugli input assemblyFiles nel file denominato. Questa impostazione esegue l'override della cache consueta, quindi usare questa impostazione solo se si sta creando un SDK con molti riferimenti e si intende spedire la cache ai clienti.
AssemblyInformationCachePaths Parametro ITaskItem facoltativo.

Se non è Null, usa questo set di cache come input se MSBuild non riesce a trovare la cache consueta nella cartella obj. In genere fornito da un SDK per migliorare le prestazioni di prima compilazione.
AutoUnify Parametro Boolean facoltativo.

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

Se true, il grafico delle dipendenze risultante viene automaticamente gestito come se vi fosse un file App.Config passato al parametro AppConfigFile. Questo file App.Config virtuale contiene una voce bindingRedirect per ogni set di assembly in conflitto, in modo che venga scelto l'assembly della versione più recente. Una conseguenza è che non viene mai restituito un avviso relativo ad assembly in conflitto, perché ogni conflitto verrà risolto.

Quando true, ogni nuovo mapping distinto genera un commento con priorità alta che mostra le versioni precedenti e nuove e che AutoUnify era true.

Quando true, il AppConfigFile parametro deve essere vuoto.

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

Se false, ogni conflitto distinto tra versioni diverse dello stesso assembly produce un commento con priorità alta. Questi commenti sono seguiti da un singolo avviso. L'avviso ha un codice di errore univoco e contiene testo che legge "Sono stati rilevati conflitti tra versioni diverse di assembly dipendenti e riferimenti".

Il valore predefinito è false.
CandidateAssemblyFiles Parametro String[] facoltativo.

Specifica un elenco di assembly da usare 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 vengono considerati quando il SearchPaths parametro contiene {CandidateAssemblyFiles} come uno dei percorsi da considerare.
CopyLocalDependenciesWhenParentReferenceInGac Parametro Boolean facoltativo.

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

Se i metadati non sono impostati, la dipendenza esegue gli stessi controlli del riferimento padre. Uno di questi controlli consiste nel determinare se il riferimento è incluso nella GAC. Se un riferimento si trova nella GAC, non viene copiato in locale, perché si presuppone che si tratti della GAC nel computer di destinazione. Questo comportamento si applica solo a un riferimento specifico e non alle sue dipendenze.

Ad esempio, un riferimento nel file di progetto presente nella GAC non viene copiato in locale, ma le relative dipendenze vengono copiate localmente perché non si trovano nella GAC.

Se false, i riferimenti ai file di progetto vengono controllati per verificare se si trovano nella GAC e vengono copiati localmente in base alle esigenze.

Le dipendenze vengono controllate per verificare se si trovano nella GAC e vengono controllate anche per verificare se il riferimento padre dal file di progetto si trova nella GAC.

Se il riferimento padre dal file di progetto si trova nella GAC, la dipendenza non viene copiata in locale.

Indipendentemente dal fatto che questo parametro sia true o false, se sono presenti più riferimenti padre e uno qualsiasi di essi non si trova nella GAC, tutti vengono copiati in locale.
CopyLocalFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Restituisce ogni file nei parametri ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFilese ScatterFiles i cui metadati dell'elemento CopyLocal hanno valore true.
DependsOnNETStandard Parametro di output Boolean.

L'eventuale presenza di riferimenti primari risolti dipende da .NET Standard.
DependsOnSystemRuntime Parametro di output Boolean.

L'eventuale presenza di riferimenti primari risolti dipende da System.Runtime.
DoNotCopyLocalIfInGac Parametro Boolean facoltativo.

Abilita la modalità legacy per la determinazione CopyLocal. Se true, gli assembly a cui si fa riferimento non verranno copiati localmente se vengono trovati nella GAC. Se false, gli assembly vengono copiati in locale, a meno che non siano stati trovati solo nella GAC. Il valore predefinito è false.
FilesWritten Parametro di output ITaskItem[] facoltativo.

Contiene gli elementi scritti sul disco.
FindDependencies Parametro Boolean facoltativo.

Se true, vengono trovate dipendenze. In caso contrario, vengono trovati solo i riferimenti primari. Il valore predefinito è true.
FindDependenciesOfExternallyResolvedReferences Parametro Boolean facoltativo.

Forzare la procedura dettagliata delle dipendenze anche quando un riferimento è contrassegnato con ExternallyResolved=true i metadati.
FindRelatedFiles Parametro Boolean facoltativo.

Se true, vengono trovati file correlati, ad pdb esempio file e xml file. Il valore predefinito è true.
FindSatellites Parametro Boolean facoltativo.

Se true, vengono trovati assembly satellite. Il valore predefinito è true..
FindSerializationAssemblies Parametro Boolean facoltativo.

Se true, l'attività cerca gli assembly di serializzazione. Il valore predefinito è true.
FullFrameworkAssemblyTables Parametro ITaskItem[] facoltativo.

Specifica gli elementi con FrameworkDirectory metadati da associare a un elenco di ridistribuzioni a una determinata directory del framework. Se l'associazione non viene eseguita, viene registrato un errore. La logica resolve assembly reference (RAR) usa la directory del framework di destinazione se non è impostata.FrameworkDirectory
FullFrameworkFolders Parametro System.String[] facoltativo.

Specifica il set di cartelle che contengono una directory RedistList. Questa directory rappresenta il framework completo per un profilo client specificato, ad esempio %programfiles%\reference assemblies\microsoft\framework\v4.0.
FullTargetFrameworkSubsetNames Parametro String[] facoltativo.

Contiene un elenco di nomi di subset del framework di destinazione. Se un nome di subset nell'elenco corrisponde a uno nella proprietà del nome TargetFrameworkSubset , il sistema esclude il subset del framework di destinazione specifico in fase di compilazione.
IgnoreDefaultInstalledAssemblyTables Parametro Boolean facoltativo.

Se true, l'attività cerca e usa tabelle di assembly installate aggiuntive (o "elenchi redist") che si trovano nella directory \RedistList in TargetFrameworkDirectories. Il valore predefinito è false..
IgnoreDefaultInstalledAssemblySubsetTables Parametro Boolean facoltativo.

Se true, l'attività cerca e usa tabelle di subset di assembly installate aggiuntive (o "elenchi di subset") che si trovano nella directory \SubSetList in TargetFrameworkDirectories. Il valore predefinito è false..
IgnoreTargetFrameworkAttributeVersionMismatch Parametro Boolean facoltativo.

Se true, l'attività risolve gli assembly destinati a una versione di .NET Framework successiva rispetto al progetto corrente. Il valore predefinito è false, che ignora tali riferimenti.
IgnoreVersionForFrameworkReferences Parametro Boolean facoltativo.

Se il riferimento primario è un assembly del framework, ignorare le informazioni sulla versione e risolvere effettivamente l'assembly del framework dal framework di destinazione corrente.
InstalledAssemblySubsetTables Parametro ITaskItem[] facoltativo.

Contiene un elenco di file XML che specificano gli assembly di cui è prevista la presenza nel subset di destinazione.

Come opzione, gli elementi in questo elenco possono specificare i FrameworkDirectory metadati da associare InstalledAssemblySubsetTable

a una determinata directory del framework.

Se è presente un TargetFrameworkDirectories solo elemento, tutti gli elementi di questo elenco che non dispongono dei FrameworkDirectory" metadati vengono considerati come se fossero impostati sul valore univoco passato a TargetFrameworkDirectories.
InstalledAssemblyTables Parametro String facoltativo.

Contiene un elenco di file XML che specificano gli assembly di cui è prevista l'installazione nel computer di destinazione.

Se InstalledAssemblyTables è impostato, le versioni precedenti degli assembly nell'elenco vengono unite nelle versioni più nuove elencate nel file XML. Inoltre, gli assembly con un'impostazione di InGAC='true' sono considerati prerequisiti e sono impostati su CopyLocal='false' a meno che non venga eseguito l'override esplicito.

Come opzione, gli elementi in questo elenco possono specificare FrameworkDirectory i metadati da associare InstalledAssemblyTable a una determinata directory del framework. Tuttavia, questa impostazione viene ignorata a meno che il nome Redist non inizi con

Microsoft-Windows-CLRCoreComp.

Se è presente un TargetFrameworkDirectories solo elemento, tutti gli elementi di questo elenco che non dispongono dei FrameworkDirectory metadati vengono considerati come se fossero impostati sul valore univoco passato

a TargetFrameworkDirectories.
LatestTargetFrameworkDirectories Parametro String[] facoltativo.

Specifica un elenco di directory che contiene gli elenchi redist per il framework più recente che può essere definito come destinazione nel computer. Se questa impostazione non è impostata, viene usato il framework più alto installato nel computer per un determinato identificatore del framework di destinazione.
OutputUnresolvedAssemblyConflicts Parametro Boolean facoltativo.

Se true, restituisce eventuali conflitti di assembly non risolti con il codice di diagnostica MSB3277 nell'output UnresolveAssemblyConflicts.
ProfileName Parametro String facoltativo.

Specifica il nome del profilo del framework di destinazione. Ad esempio, Client, Web, o Network. Rilevante solo per i profili .NET Framework.
RelatedFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Contiene file correlati, ad esempio XML e pdb file con lo stesso nome di base di un riferimento.

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

- Primary: valore Boolean . Se true, l'elemento del file è stato passato nella matrice usando il parametro Assemblies facoltativo. Il valore predefinito è false.
- CopyLocal: valore Boolean . Indica se il riferimento specificato deve essere copiato nella directory di output.
ResolvedDependencyFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Contiene i percorsi di ordine ndelle dipendenze. Questo parametro non include i riferimenti primari del primo ordine, contenuti nel ResolvedFiles parametro .

Gli elementi in questo parametro possono facoltativamente contenere i metadati degli elementi seguenti:

- CopyLocal: valore Boolean . Indica se il riferimento specificato deve essere copiato nella directory di output.
- FusionName: valore String . Specifica il nome della dipendenza.
- ResolvedFrom: valore String . Specifica il percorso di ricerca letterale da cui questo file è stato risolto.
ResolvedFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

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

Gli elementi in questo parametro possono facoltativamente contenere i metadati degli elementi seguenti:

- CopyLocal: valore Boolean . Indica se il riferimento specificato deve essere copiato nella directory di output.
- FusionName: valore String . Specifica il nome della dipendenza.
- ResolvedFrom: valore String . Specifica il percorso di ricerca letterale da cui questo file è stato risolto.
ResolvedSDKReferences Parametro ITaskItem[] facoltativo.

Elenco di riferimenti all'SDK risolti, che contengono il nome dell'SDK, il percorso dell'SDK e la configurazione di destinazione. Questi percorsi vengono cercati solo se al riferimento sono associati i SDKName metadati.
SatelliteFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Specifica tutti i file satellite trovati. Questi file sono CopyLocal=true se il riferimento o la dipendenza che ha causato l'esistenza di questo elemento è CopyLocal=true.

Gli elementi in questo parametro possono facoltativamente contenere i metadati degli elementi seguenti:

- CopyLocal: valore Boolean . Indica se il riferimento specificato deve essere copiato nella directory di output. Questo valore è true se per il riferimento o la dipendenza che ha causato la presenza di questo elemento il valore di CopyLocal è true.
- DestinationSubDirectory: valore String . Specifica la directory di destinazione relativa in cui copiare questo elemento.
ScatterFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

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

Gli elementi in questo parametro possono facoltativamente contenere i metadati degli elementi seguenti:

- CopyLocal: valore Boolean . Indica se il riferimento specificato deve essere copiato nella directory di output.
SearchPaths Parametro String[] obbligatorio.

Specifica le directory o i percorsi speciali in cui viene eseguita la ricerca per trovare i file nel disco che rappresentano gli assembly. L'ordine in base al quale i percorsi di ricerca sono elencati è importante. Per ogni assembly, la ricerca nell'elenco dei percorsi viene eseguita da sinistra a destra. Quando viene trovato un file che rappresenta l'assembly, la ricerca viene arrestata e viene avviata la ricerca dell'assembly successivo.

Questo parametro accetta un elenco di valori delimitati da punti e virgola che possono essere percorsi di directory o valori letterali speciali dell'elenco seguente:

- {HintPathFromItem}: indica all'attività di esaminare i HintPath metadati dell'elemento di base.
- {CandidateAssemblyFiles}: indica all'attività di esaminare i file passati tramite il CandidateAssemblyFiles parametro .
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: indica all'attività di cercare in cartelle aggiuntive specificate nel Registro di sistema. <AssemblyFoldersBase>, <RuntimeVersion> e <AssemblyFoldersSuffix> devono essere sostituiti con valori specifici per la ricerca nel percorso del Registro di sistema. La specifica predefinita nelle destinazioni comuni è {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.
- {AssemblyFolders}: indica all'attività di usare lo schema ricerca-assembly-from-registry di Visual Studio.NET 2003.
- {GAC}: indica all'attività di eseguire la ricerca nella Global Assembly Cache (GAC).
- {RawFileName}: specifica che l'attività considera il valore Include dell'elemento come un percorso e un nome file esatti.
SerializationAssemblyFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Contiene tutti gli assembly di serializzazione XML trovati. Tali elementi saranno contrassegnati con CopyLocal=true se e solo se il riferimento o la dipendenza che ha causato la presenza di questo elemento è CopyLocal=true.

I metadati Boolean CopyLocal indicano se il riferimento specificato deve essere copiato nella directory di output.
Silent Parametro Boolean facoltativo.

Se true, non viene registrato alcun messaggio. Il valore predefinito è false.
StateFile Parametro String facoltativo.

Specifica un nome file che indica dove salvare lo stato di compilazione intermedio per questa attività.
SuggestedRedirects Parametro di output ITaskItem[] di sola lettura facoltativo.

Contiene un elemento per ogni identità di assembly in conflitto distinta, indipendentemente dal valore del parametro AutoUnify . Sono incluse tutte le impostazioni cultura e PKT trovate che non hanno una voce appropriata bindingRedirect nel file di configurazione dell'applicazione.

Ogni elemento contiene le informazioni seguenti:

- Include attribute: contiene il nome completo della famiglia di assembly con il valore del campo Version 0.0.0.0
- MaxVersion : contengono il numero di versione massimo.
SupportsBindingRedirectGeneration Parametro Boolean facoltativo.

Impostare questa opzione su true nei progetti supportati per generare automaticamente i reindirizzamenti di binding (attualmente supportati solo per i progetti EXE).
TargetedRuntimeVersion Parametro String facoltativo.

Specifica la versione di runtime di destinazione, ad esempio 2.0.57027 o v2.0.57027.
TargetFrameworkDirectories Parametro String[] facoltativo.

Specifica il percorso della directory del framework di destinazione. Questo parametro è necessario per determinare lo CopyLocal stato degli elementi risultanti.

Se questo parametro non viene specificato, nessun elemento risultante avrà un CopyLocal valore a true meno che non abbia esplicitamente un Private valore di metadati per l'elemento di true origine.
TargetFrameworkMoniker Parametro String facoltativo.

Oggetto TargetFrameworkMoniker da monitorare, se presente. Questo parametro viene usato per la registrazione.
TargetFrameworkMonikerDisplayName Parametro String facoltativo.

Nome visualizzato dell'oggetto TargetFrameworkMoniker da monitorare, se presente. Questo parametro viene usato per la registrazione.
TargetFrameworkSubsets Parametro String[] facoltativo.

Contiene un elenco di nomi di subset del framework di destinazione da cercare nelle directory del framework di destinazione.
TargetFrameworkVersion Parametro String facoltativo.

Versione del framework di destinazione del progetto. Il valore predefinito è vuoto, ovvero non esiste alcun filtro per i riferimenti in base al framework di destinazione.
TargetProcessorArchitecture Parametro String facoltativo.

Architettura del processore di destinazione preferita. Usato per la risoluzione dei riferimenti alla Global Assembly Cache (GAC).

Il valore di questo parametro può essere x86, IA64 o AMD64.

Se questo parametro è assente, l'attività considera prima di tutto gli assembly che corrispondono all'architettura del processo attualmente in esecuzione. Se non viene trovato alcun assembly, l'attività considera gli assembly nella GAC il cui valore di ProcessorArchitecture è MSIL o senza alcun valore per ProcessorArchitecture .
UnresolvedAssemblyConflicts Parametro di output ITaskItem[] di sola lettura facoltativo.

Se il parametro OutputUnresolvedAssemblyConflicts è true, questa proprietà viene impostata su un elenco di informazioni sui conflitti non risolti che normalmente sarebbero stati restituiti in MSB3277. In caso contrario, vuoto.
UnresolveFrameworkAssembliesFromHigherFrameworks Parametro Boolean facoltativo.

Se impostato su true, forza gli assembly del framework con versioni successive o uguali alla versione del framework di destinazione a uno stato non risolto.
WarnOrErrorOnTargetArchitectureMismatch Parametro String facoltativo.

Se si verifica una mancata corrispondenza tra l'architettura del processore di destinazione e l'architettura di un riferimento primario, quando si tratta Errordi , viene registrato un errore; quando Warningviene registrato un avviso; quando None, non viene registrato alcun errore o avviso. Il valore predefinito è Warning.

Avvisi

Vengono registrati gli avvisi seguenti:

  • ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects

  • ResolveAssemblyReference.SuggestedRedirects

  • ResolveAssemblyReference.FoundConflicts

  • ResolveAssemblyReference.AssemblyFoldersExSearchLocations

  • ResolveAssemblyReference.UnifiedPrimaryReference

  • ResolveAssemblyReference.PrimaryReference

  • ResolveAssemblyReference.UnifiedDependency

  • ResolveAssemblyReference.UnificationByAutoUnify

  • ResolveAssemblyReference.UnificationByAppConfig

  • ResolveAssemblyReference.UnificationByFrameworkRetarget

Osservazioni:

Oltre ai parametri elencati sopra, questa attività eredita i parametri dalla classe TaskExtension, che a sua volta eredita dalla classe Task. Per un elenco di questi parametri aggiuntivi e le rispettive descrizioni, vedere TaskExtension Base Class.

Vedi anche