Compartilhar via


Tarefa ResolveAssemblyReference

Determina todos os assemblies que dependem dos assemblies especificados, incluindo enésimas dependências. Consulte também Solucionar problemas de erros de compilação com referências de assembly.

Parâmetros

A tabela a seguir descreve os parâmetros da tarefa ResolveAssemblyReference.

Parâmetro Descrição
AllowedAssemblyExtensions Parâmetro String[] opcional.

As extensões de nome de arquivo do assembly que serão usadas ao resolver referências. As extensões de nome de arquivo padrão são exe e dll.
AllowedRelatedFileExtensions Parâmetro String[] opcional.

As extensões de nome de arquivo que serão usadas para uma pesquisa de arquivos que estão relacionados uns aos outros. As extensões padrão são pdb e xml.
AppConfigFile Parâmetro String opcional.

Especifica um arquivo app.config do qual serão analisados e extraídos os mapeamentos bindingRedirect. Se esse parâmetro for especificado, o parâmetro AutoUnify deverá ser false.
Assemblies Parâmetro opcional ITaskItem[].

Especifica os itens para os quais as dependências e caminhos completos devem ser identificados. Esses itens podem ter nomes simples como "Sistema" ou nomes fortes, como "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

Itens passados para esse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - Private: Boolean. Se true, então o item será copiado localmente. O valor padrão é true.
Valor - HintPath: String. Especifica o caminho e nome de arquivo que será usado como referência. Esses metadados são usados quando {HintPathFromItem} são especificados no SearchPaths parâmetro. O valor padrão é uma cadeia de caracteres vazia.
Valor - SpecificVersion: Boolean. Se true, então o nome exato especificado no atributo Include deverá corresponder. Se false, então qualquer assembly com o mesmo nome simples funciona. Se SpecificVersion não for especificado, a tarefa examinará o Include valor no atributo do item. Se o atributo for um nome simples, ele se comportará como se SpecificVersion tivesse sido false. Se o atributo for um nome forte, ele se comportará como se SpecificVersion tivesse sido true.
Quando usado com um tipo de item de referência, o atributo Include deve ser o nome completo de fusão do assembly a ser resolvido. O assembly será resolvido apenas se a fusão corresponder exatamente ao atributo Include.
Quando um projeto tem como alvo uma versão do .NET Framework e referencia um assembly compilado para uma versão posterior do .NET Framework, a referência será resolvida apenas se ela tiver SpecificVersion definido como true.
Quando um projeto tem como destino um perfil e faz referência a um assembly que não está no perfil, a referência é resolvida somente se tiver SpecificVersion sido definida como true.
Valor - ExecutableExtension: String. Quando presente, o assembly resolvido deve ter essa extensão. Quando ausente, dll é considerado primeiro, seguido por .exe, para cada diretório examinado.
Valor - SubType: String. Somente itens com metadados vazios SubType são resolvidos em caminhos de assembly completos. Itens com metadados não vazios SubType são ignorados.
Valor - AssemblyFolderKey: String. Esses metadados têm suporte para fins de herdado. Ele especifica uma chave do Registro definida pelo usuário, como hklm\<VendorFolder>, que Assemblies deve usar para resolver referências de assembly.
AssemblyFiles Parâmetro opcional ITaskItem[].

Especifica uma lista de assemblies totalmente qualificados para encontrar as dependências.

Itens passados para esse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

- Private: um valor Boolean opcional. Se for verdadeiro, então o item será copiado localmente.
- FusionName: metadados String opcionais. Especifica o nome simples ou forte para esse item. Se esse atributo estiver presente, ele poderá economizar tempo porque o arquivo de assembly não precisa ser aberto para obter o nome.
AssemblyInformationCacheOutputPath Parâmetro String opcional.

Se não for nulo, serializará informações independentes do computador sobre entradas AssemblyFiles para o arquivo nomeado. Essa configuração substitui o cache usual, portanto, use essa configuração apenas se você estiver criando um SDK com muitas referências e pretende enviar o cache para seus clientes.
AssemblyInformationCachePaths Parâmetro ITaskItem opcional.

Se não for nulo, usará esse conjunto de caches como entradas se o MSBuild não conseguir encontrar o cache usual na pasta obj. Normalmente fornecido por um SDK para melhorar o desempenho de primeiro build.
AutoUnify Parâmetro Boolean opcional.

Esse parâmetro é usado para criar assemblies, como DLLs, que não podem ter um arquivo App.Config normal.

Se true, o grafo de dependência resultante será tratado automaticamente como se um arquivo App.Config tivesse passado para o parâmetro AppConfigFile. Esse arquivo App.Config virtual tem uma entrada de bindingRedirect para cada conjunto conflitante de assemblies, de modo que o assembly de versão mais alto é escolhido. Uma consequência disso é que nunca haverá um aviso sobre assemblies conflitantes porque cada conflito terá sido resolvido.

Quando true, cada remapeamento distinto resulta em um comentário de alta prioridade mostrando as versões antiga e nova e que AutoUnify era true.

Quando true, o AppConfigFile parâmetro deve estar vazio.

Quando false, nenhum remapeamento da versão do assembly ocorrerá automaticamente. Quando existir duas versões de um assembly, um aviso será emitido.

Quando false, cada conflito distinto entre versões diferentes do mesmo assembly resultará em um comentário de alta prioridade. Esses comentários são seguidos por um único aviso. O aviso tem um código de erro exclusivo e contém texto que diz "Conflitos encontrados entre diferentes versões de referência e assemblies dependentes".

O valor padrão é false.
CandidateAssemblyFiles Parâmetro String[] opcional.

Especifica uma lista de assemblies que serão usados para o processo de pesquisa e resolução. Os valores passados para este parâmetro devem ser nomes de arquivos absolutos ou nomes de arquivos relacionados ao projeto.

Os assemblies nesta lista são considerados quando o SearchPaths parâmetro contém {CandidateAssemblyFiles} como um dos caminhos a serem considerados.
CopyLocalDependenciesWhenParentReferenceInGac Parâmetro Boolean opcional.

Se for verdadeiro, para determinar se uma dependência deverá ser copiada localmente, uma das verificações feitas é ver se a referência pai no arquivo de projeto tem metadados particulares definidos. Se definido, o valor particular será usado como uma dependência.

Se os metadados não estiverem definidos, a dependência passará pelas mesmas verificações que a referência pai. Uma dessas verificações é ver se a referência está no GAC. Se uma referência estiver no GAC, ela não será copiada localmente, pois presume-se que esteja no GAC no computador de destino. Isso é aplicável somente a uma referência específica e não a suas dependências.

Por exemplo, uma referência no arquivo de projeto que está no GAC não é copiada localmente, mas suas dependências são copiadas localmente porque não estão no GAC.

Se for falso, as referências de arquivo de projeto serão verificadas para ver se estão no GAC e serão copiadas localmente conforme apropriado.

As dependências são verificadas para ver se estão no GAC e também são verificadas para ver se a referência pai do arquivo de projeto está no GAC.

Se a referência pai do arquivo de projeto estiver no GAC, a dependência não será copiada localmente.

Se esse parâmetro for verdadeiro ou falso, se houver várias referências pai e qualquer uma delas não estiver no GAC, todas elas serão copiadas localmente.
CopyLocalFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Retorna todos os arquivos nos parâmetros ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFiles e ScatterFiles e que têm os metadados de item CopyLocal com um valor de true.
DependsOnNETStandard Parâmetro de saída Boolean.

Se alguma das referências primárias resolvidas depende do .NET Standard.
DependsOnSystemRuntime Parâmetro de saída Boolean.

Se alguma das referências primárias resolvidas depende do System.Runtime.
DoNotCopyLocalIfInGac Parâmetro Boolean opcional.

Habilita o modo herdado para a determinação de CopyLocal. Se true, os assemblies referenciados não serão copiados localmente se forem encontrados no GAC. Se false, os assemblies serão copiados localmente, a menos que tenham sido encontrados apenas no GAC. O valor padrão é false.
FilesWritten Parâmetro de saída ITaskItem[] opcional.

Contém os itens gravados em disco.
FindDependencies Parâmetro Boolean opcional.

Se true, as dependências forem encontradas. Caso contrário, apenas as referências principais serão encontradas. O valor padrão é true.
FindDependenciesOfExternallyResolvedReferences Parâmetro Boolean opcional.

Forçar as dependências a serem acompanhadas mesmo quando uma referência está marcada com metadados ExternallyResolved=true.
FindRelatedFiles Parâmetro Boolean opcional.

Se true, arquivos relacionados, como pdb arquivos e xml arquivos, forem encontrados. O valor padrão é true.
FindSatellites Parâmetro Boolean opcional.

Se true, montagens satélites são encontradas. O valor padrão é true.
FindSerializationAssemblies Parâmetro Boolean opcional.

Se true, a tarefa pesquisará os assemblies de serialização. O valor padrão é true.
FullFrameworkAssemblyTables Parâmetro ITaskItem[] opcional.

Especifica itens que têm FrameworkDirectory metadados para associar uma lista redist a um diretório de estrutura específico. Se a associação não for feita, um erro será registrado. A lógica RAR (referência de assembly de resolução) usará o diretório da estrutura de destino se a FrameworkDirectory não estiver definido.
FullFrameworkFolders Parâmetro System.String[] opcional.

Especifica as pastas que contêm um diretório RedistList. Esse diretório representa a estrutura completa para um perfil de cliente, por exemplo, %programfiles%\reference assemblies\microsoft\framework\v4.0.
FullTargetFrameworkSubsetNames Parâmetro String[] opcional.

Contém uma lista de nomes de subconjunto de estrutura de destino. Se um nome de subconjunto na lista corresponde a um na propriedade de nome TargetFrameworkSubset, o sistema exclui esse subconjunto de estrutura de destino específico no momento do build.
IgnoreDefaultInstalledAssemblyTables Parâmetro Boolean opcional.

Se true, então a tarefa pesquisa e usa as tabelas de assembly instaladas adicionais (ou "Lista Redist") que estão localizadas no diretório \RedistList em TargetFrameworkDirectories. O valor padrão é false.
IgnoreDefaultInstalledAssemblySubsetTables Parâmetro Boolean opcional.

Se true, então a tarefa pesquisa e usa as tabelas de subconjunto de assembly instaladas adicionais (ou "Listas de Subconjunto") que estão localizadas no diretório \SubsetList em TargetFrameworkDirectories. O valor padrão é false.
IgnoreTargetFrameworkAttributeVersionMismatch Parâmetro Boolean opcional.

Se true, a tarefa resolverá assemblies direcionados a uma versão superior do .NET Framework do que o projeto atual. O valor padrão é false, que ignora essas referências.
IgnoreVersionForFrameworkReferences Parâmetro Boolean opcional.

Se a referência principal for um assembly de estrutura, ignore as informações de versão e resolva o assembly de estrutura usando a estrutura de destino atual.
InstalledAssemblySubsetTables Parâmetro opcional ITaskItem[].

Contém uma lista de arquivos XML que especificam os assemblies que devem estar no subconjunto do destino.

Como opção, os itens nesta lista podem especificar os FrameworkDirectory metadados para associar um InstalledAssemblySubsetTable

com um diretório de estrutura específico.

Se houver apenas um TargetFrameworkDirectories elemento, todos os itens nesta lista que não tiverem os FrameworkDirectory" metadados serão tratados como se estivessem definidos como o valor exclusivo que é passado para TargetFrameworkDirectories.
InstalledAssemblyTables Parâmetro String opcional.

Contém uma lista de arquivos XML que especificam os assemblies que devem ser instalados no computador de destino.

Quando InstalledAssemblyTables estiver definido, as versões anteriores dos assemblies na lista serão mescladas em versões mais recentes listadas no XML. Além disso, os assemblies que têm uma configuração de InGAC='true' são considerados pré-requisitos e são definidos como CopyLocal='false' a menos que sejam explicitamente substituídos.

Como opção, os itens nesta lista podem especificar FrameworkDirectory metadados para associar a InstalledAssemblyTable um diretório de estrutura específico. No entanto, essa configuração será ignorada a menos que o nome do Redist comece com

Microsoft-Windows-CLRCoreComp.

Se houver apenas um TargetFrameworkDirectories elemento, todos os itens nesta lista que não tiverem os FrameworkDirectory metadados serão tratados como se estivessem definidos como o valor exclusivo que é passado

para TargetFrameworkDirectories.
LatestTargetFrameworkDirectories Parâmetro String[] opcional.

Especifica uma lista de diretórios que contêm as listas redist para a estrutura mais recente que possa ser direcionada no computador. Se isso não estiver definido, a estrutura mais alta instalada no computador para um determinado identificador de estrutura de destino será usada.
OutputUnresolvedAssemblyConflicts Parâmetro Boolean opcional.

Se true, gera qualquer conflito de assembly não resolvido com o código de diagnóstico MSB3277 na saída UnresolveAssemblyConflicts.
ProfileName Parâmetro String opcional.

Especifica o nome do perfil da estrutura que será direcionado. Por exemplo, cliente, Web ou rede. Relevante apenas para perfis de .NET Framework.
RelatedFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém arquivos relacionados, como XML e pdb arquivos que têm o mesmo nome base como referência.

Os arquivos listados nesse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - Primary: Boolean. Se true, então o item do arquivo foi passado para a matriz usando o parâmetro Assemblies. O valor padrão é false.
Valor - CopyLocal: Boolean. Indica se a referência será copiada no diretório de saída.
ResolvedDependencyFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém os caminhos de ordem n para as dependências. Esse parâmetro não inclui referências primárias de primeira ordem, que estão contidas no ResolvedFiles parâmetro.

Os itens nesse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - CopyLocal: Boolean. Indica se a referência será copiada no diretório de saída.
Valor - FusionName: String. Especifica o nome para essa dependência.
Valor - ResolvedFrom: String. Especifica o caminho de pesquisa literal do qual este arquivo foi resolvido.
ResolvedFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém uma lista de todas as referências primárias resolvidas para caminhos completos.

Os itens nesse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - CopyLocal: Boolean. Indica se a referência será copiada no diretório de saída.
Valor - FusionName: String. Especifica o nome para essa dependência.
Valor - ResolvedFrom: String. Especifica o caminho de pesquisa literal do qual este arquivo foi resolvido.
ResolvedSDKReferences Parâmetro ITaskItem[] opcional.

Uma lista de referências resolvidas do SDK, que contêm o nome do SDK, o local do SDK e a configuração de destino. Esses locais só serão pesquisados se a referência tiver os SDKName metadados anexados a ela.
SatelliteFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Especifica todos os arquivos satélites encontrados. Esses arquivos são CopyLocal=true se a referência ou dependência que causou a existência desse item for CopyLocal=true.

Os itens nesse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - CopyLocal: Boolean. Indica se a referência será copiada no diretório de saída. Esse valor é true se a referência ou a dependência que causou a existência deste item tiver um valor CopyLocal de true.
Valor - DestinationSubDirectory: String. Especifica o diretório de destino relativo ao qual copiar este item.
ScatterFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém os arquivos de dispersão associados a um dos assemblies.

Os itens nesse parâmetro podem, opcionalmente, ter os metadados de item a seguir:

Valor - CopyLocal: Boolean. Indica se a referência será copiada no diretório de saída.
SearchPaths Parâmetro String[] obrigatório.

Especifica os diretórios ou locais especiais que são pesquisados para localizar os arquivos no disco que representam os assemblies. A ordem na qual os caminhos de pesquisa são listados é importante. Para cada assembly, a lista de caminhos é pesquisada da esquerda para a direita. Quando um arquivo que representa o assembly for encontrado, a pesquisa será interrompida e a pesquisa do próximo assembly começará.

Esse parâmetro aceita uma lista delimitada por ponto-e-vírgula dos valores que podem ser caminhos de diretório ou valores literais especiais da lista abaixo:

- {HintPathFromItem}: Instrui a tarefa a examinar os HintPath metadados do item base.
- {CandidateAssemblyFiles}: Instrui a tarefa a examinar os arquivos passados por meio do CandidateAssemblyFiles parâmetro.
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: instrui a tarefa a pesquisar em pastas adicionais especificadas no Registro. <AssemblyFoldersBase>, <RuntimeVersion> e <AssemblyFoldersSuffix> devem ser substituídos por valores específicos para o local do Registro a ser pesquisado. A especificação padrão nos destinos comuns é {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.
- {AssemblyFolders}: Instrui a tarefa a usar o esquema finding-assemblies-from-registry do Visual Studio.NET 2003.
- {GAC}: Instrui a tarefa a pesquisar no GAC (Cache de Assembly Global).
- {RawFileName}: especifica que a tarefa considerará o valor Include do item como um nome de arquivo e caminho exato.
SerializationAssemblyFiles Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém os assemblies de serialização XML encontrados. Esses itens serão marcados como CopyLocal=true se a referência ou a dependência que causou a existência deste item for CopyLocal=true.

O CopyLocal dos metadados Boolean indica se a referência fornecida deve ser copiada para o diretório de saída.
Silent Parâmetro Boolean opcional.

Se true, nenhuma mensagem será registrada. O valor padrão é false.
StateFile Parâmetro String opcional.

Especifica um nome de arquivo que indica onde salvar o estado de build intermediária para essa tarefa.
SuggestedRedirects Parâmetro ITaskItem[] de saída opcional somente leitura.

Contém um item para cada identidade de assembly distinto em conflito, independentemente do valor do parâmetro AutoUnify. Isso inclui todas as culturas e PKT encontrados que não tinham uma entrada adequada bindingRedirect no arquivo de configuração do aplicativo.

Cada item contém, opcionalmente, as informações a seguir:

- Include atributo: contém o nome completo da família de assembly com um valor de campo Version de 0.0.0.0
Metadados de item - MaxVersion: contém o número máximo de versão.
SupportsBindingRedirectGeneration Parâmetro Boolean opcional.

Defina isso como true em projetos com suporte para gerar redirecionamentos de associação automaticamente (atualmente com suporte apenas para projetos EXE).
TargetedRuntimeVersion Parâmetro String opcional.

Especifica a versão de runtime para o destino, por exemplo, 2.0.57027 ou v2.0.57027.
TargetFrameworkDirectories Parâmetro String[] opcional.

Especifica o caminho do diretório da estrutura de destino. Esse parâmetro é necessário para determinar o status dos CopyLocal itens resultantes.

Se esse parâmetro não for especificado, nenhum item resultante terá um CopyLocal valor de true , a menos que eles tenham explicitamente um Private valor de metadados em seu item de true origem.
TargetFrameworkMoniker Parâmetro String opcional.

O TargetFrameworkMoniker monitorar, se houver. Esse parâmetro é usado para criação de log.
TargetFrameworkMonikerDisplayName Parâmetro String opcional.

O nome de exibição do TargetFrameworkMoniker para monitorar, se houver. Esse parâmetro é usado para criação de log.
TargetFrameworkSubsets Parâmetro String[] opcional.

Contém uma lista de nomes de subconjunto da estrutura de destino que será pesquisada em diretórios da estrutura de destino.
TargetFrameworkVersion Parâmetro String opcional.

A versão da estrutura de destino do projeto. O valor padrão é vazio, o que significa que não há filtragem para as referências com base na estrutura de destino.
TargetProcessorArchitecture Parâmetro String opcional.

A arquitetura do processador de destino preferencial. Usada para resolver referências de GAC (Cache de Assembly Global).

Esse parâmetro pode ter um valor igual a x86, IA64 ou AMD64.

Se esse parâmetro estiver ausente, a tarefa considerará primeiro assemblies que correspondem à arquitetura do processo em execução no momento. Se nenhum assembly for encontrado, a tarefa considerará os assemblies no GAC com valor ProcessorArchitecture de MSIL ou nenhum valor ProcessorArchitecture.
UnresolvedAssemblyConflicts Parâmetro ITaskItem[] de saída opcional somente leitura.

Se o parâmetro OutputUnresolvedAssemblyConflicts for true, isso será definido como uma lista de informações sobre conflitos não resolvidos que normalmente teriam sido gerados no MSB3277. Caso contrário, vazio.
UnresolveFrameworkAssembliesFromHigherFrameworks Parâmetro Boolean opcional.

Se definido como true, ele forçará assemblies de estrutura com versões superiores ou iguais à versão da estrutura de destino para um estado não resolvido.
WarnOrErrorOnTargetArchitectureMismatch Parâmetro String opcional.

Se houver uma incompatibilidade entre a arquitetura do processador de destino e a arquitetura de uma referência primária, quando for Error, um erro será registrado; quando Warning, um aviso será registrado; quando None, nenhum erro ou aviso será registrado. Assume o padrão de Warning.

Warnings

Os seguintes avisos são registrados:

  • ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects

  • ResolveAssemblyReference.SuggestedRedirects

  • ResolveAssemblyReference.FoundConflicts

  • ResolveAssemblyReference.AssemblyFoldersExSearchLocations

  • ResolveAssemblyReference.UnifiedPrimaryReference

  • ResolveAssemblyReference.PrimaryReference

  • ResolveAssemblyReference.UnifiedDependency

  • ResolveAssemblyReference.UnificationByAutoUnify

  • ResolveAssemblyReference.UnificationByAppConfig

  • ResolveAssemblyReference.UnificationByFrameworkRetarget

Comentários

Além dos parâmetros listados acima, essa tarefa herda parâmetros da classe TaskExtension, que herda da classe Task. Para obter uma lista desses parâmetros adicionais e suas descrições, confira Classe base TaskExtension.

Confira também