Share via


ResolveAssemblyReference (attività)

Determina tutti gli assembly che dipendono dall'assembly specificato, incluse dipendenze di secondo e n ordine.

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 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. Viene usato quando {HintPathFromItem} è specificato nel parametro SearchPaths. Il valore predefinito è una stringa vuota.
- SpecificVersion: valore Boolean . Se true, il nome esatto specificato nell'attributo Include deve corrispondere. Se false, è possibile usare qualsiasi assembly con lo stesso nome semplice. Se SpecificVersion non viene specificato, l'attività esamina il valore nell'attributo Include dell'elemento. 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 ha come destinazione un profilo e fa riferimento a un assembly non incluso 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, viene considerata prima di tutto l'estensione dll, seguita da exe, per ogni directory esaminata.
- SubType: valore String . Solo gli elementi con metadati SubType vuoti verranno risolti in percorsi di assembly completi. Gli elementi con metadati SubType non vuoti 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, permette di risparmiare tempo perché non è necessario aprire il file di assembly per ottenere il nome.
AssemblyInformationCacheOutputPath Parametro String facoltativo.

Se non null, serializza le informazioni indipendenti dal computer sugli input assemblyFiles nel file denominato. Questa operazione esegue l'override della cache consueta, quindi usare questa opzione 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 normale cache 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, come 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.

Se true, ogni nuovo mapping distinto produce un commento con priorità alta che mostra le versioni nuove e precedenti e indica che AutoUnify è impostato su true.

Se true, il parametro AppConfigFile 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 indica che sono stati rilevati conflitti tra versioni diverse di assembly dipendenti e di riferimento.

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 verranno considerati quando il parametro SearchPaths 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 è soggetta agli stessi controlli del riferimento padre. Uno di questi controlli consiste nel determinare se il riferimento è incluso nella GAC. Se un riferimento è incluso nella GAC, non viene copiato in locale, perché si presuppone che sia incluso nella GAC del 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 incluso nella GAC non viene copiato in locale, ma le sue dipendenze vengono copiate in locale perché non sono incluse nella GAC.

Se false, i riferimenti al file di progetto vengono controllati per verificare se sono inclusi nella GAC e vengono copiati in locale, se necessario.

Le dipendenze vengono controllate per verificare se sono incluse nella GAC e se è incluso nella GAC anche il riferimento padre dal file di progetto.

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

Che il parametro sia true o false, se sono presenti più riferimenti padre e nessuno è incluso nella GAC, vengono tutti 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 in locale se vengono trovati nella GAC. Se false, gli assembly verranno 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 le 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 i file correlati, ad esempio i file pdb e xml. Il valore predefinito è true.
FindSatellites Parametro Boolean facoltativo.

Se true, vengono trovati gli 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 metadati "FrameworkDirectory" per associare un elenco redist a una determinata directory del framework. Se l'associazione non viene eseguita, verrà registrato un errore. La logica di risoluzione dei riferimenti agli assembly usa la directory del framework di destinazione se non è impostato un oggetto 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à risolverà gli assembly destinati a una versione di .NET Framework successiva rispetto al progetto corrente. Il valore predefinito è false, che ignorerà 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.

In alternativa, gli elementi in questo elenco specificano i metadati "FrameworkDirectory" per associare un oggetto InstalledAssemblySubsetTable

a una determinata directory del framework.

Se è presente un solo elemento TargetFrameworkDirectories , qualsiasi elemento nell'elenco in cui mancano i metadati "FrameworkDirectory" viene considerato come se fosse impostato 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 impostazione InGAC='true' vengono considerati prerequisiti e sono impostati su CopyLocal='false' se non sono sottoposti a override esplicito.

In alternativa, gli elementi in questo elenco possono specificare metadati "FrameworkDirectory" per associare un oggetto 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 solo elemento TargetFrameworkDirectories , qualsiasi elemento nell'elenco in cui mancano i metadati "FrameworkDirectory" viene considerato come se fosse impostato 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 questo non è impostato, viene usato il framework più recente installato nel computer per un identificatore del framework di destinazione specificato.
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.

Ottiene i file correlati, ad esempio i file XML e PDB, 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 contiene riferimenti primari di primo ordine, che sono inclusi nel parametro ResolvedFiles .

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 verranno cercati solo se al riferimento sono associati i metadati SDKName.
SatelliteFiles Parametro di output ITaskItem[] di sola lettura facoltativo.

Specifica tutti i file satellite trovati. Tali file saranno CopyLocal=true se il riferimento o la dipendenza che ha causato la presenza 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}: specifica che l'attività esaminerà i metadati HintPath dell'elemento di base.
- {CandidateAssemblyFiles}: specifica che l'attività esaminerà i file passati tramite il parametro CandidateAssemblyFiles.
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: specifica che l'attività cercherà 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}: specifica che l'attività usa lo schema di ricerca degli assembly dal Registro di sistema di Visual Studio.NET 2003.
- {GAC}: specifica che l'attività esegue 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 inclusi tutti i PKT e le impostazione cultura trovati per cui non esiste una voce bindingRedirect appropriata nel file di configurazione dell'applicazione.

Ogni elemento contiene le informazioni seguenti:

- Include : contiene il nome completo della famiglia di assembly il cui valore del campo della versione è 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 stato CopyLocal degli elementi risultanti.

Se questo parametro non è specificato, per nessun elemento risultante il valore di CopyLocal sarà true, a meno che un elemento non includa in modo esplicito un valore dei metadati Private di true nel proprio elemento di origine.
TargetFrameworkMoniker Parametro String facoltativo.

TargetFrameworkMoniker da monitorare, se presente. Viene usato per la registrazione.
TargetFrameworkMonikerDisplayName Parametro String facoltativo.

Nome visualizzato dell'oggetto TargetFrameworkMoniker da monitorare, se presente. 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 basati sul 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