Tarefa ResolveAssemblyReference

Determina todos os assemblies que dependem dos assemblies especificados, incluindo enésimas dependências.

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} é especificado no parâmetro SearchPaths. 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, qualquer assembly com o mesmo nome simples funcionará. Se SpecificVersion não for especificado, então a tarefa examinará o valor do atributo Include 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 alvo um perfil e faz referencia um assembly que não está no perfil, a referência será resolvida apenas se ela tiver SpecificVersion definido como true.
Valor - ExecutableExtension: String. Quando presente, o assembly resolvido deve ter essa extensão. Quando ausente, o .dll é considerado primeiro, seguido por .exe, para cada diretório examinado.
Valor - SubType: String. Somente os itens com metadados SubType vazios serão resolvidos em caminhos de assembly completo. Itens com metadados SubType não vazios 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, isso poderá economizar tempo porque o arquivo do 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. Isso substitui o cache usual. Portanto, use somente 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 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 resultará em um comentário de alta prioridade, mostrando as versões nova e antiga e que AutoUnify foi true.

Quando for true, o parâmetro AppConfigFile deverá 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 o texto "Encontrados conflitos 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 serão considerados quando o parâmetro SearchPaths contiver {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, então a dependência passará pelas mesmas verificações da referência pai. Uma dessas verificações é ver se a referência está no GAC. Se uma referência estiver no GAC, então ela não será copiada localmente, porque ela é considerada como estando 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 elas não estão no GAC.

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

As dependências são verificadas para ver se elas 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.

Independentemente de esse parâmetro ser verdadeiro ou falso, se houver várias referências pai e 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 for true, os assemblies referenciados não serão copiados localmente se forem encontrados no GAC. Se for false, os assemblies serão copiados localmente, a menos que sejam encontrados somente 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 serão 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 arquivos .pdb e arquivos .xml serão encontrados. O valor padrão é true.
FindSatellites Parâmetro Boolean opcional.

Se true, os assemblies satélites serão encontrados. 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 opcional ITaskItem[].

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

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 de .NET Framework mais alta do que o projeto atual. O valor padrão é false, que ignorará 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 nessa lista podem especificar os metadados de "FrameworkDirectory" para associar a um InstalledAssemblySubsetTable

com um diretório de estrutura específico.

Se houver apenas um elemento TargetFrameworkDirectories, então todos os itens na lista que não têm os metadados de "FrameworkDirectory" são tratados como se eles fossem 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 explicitamente substituídos.

Como opção, os itens nessa lista podem especificar os metadados de "FrameworkDirectory" para associar a um InstalledAssemblyTable com 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 elemento TargetFrameworkDirectories, então todos os itens na lista que não têm os metadados de "FrameworkDirectory" são tratados como se eles fossem 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 for definido a estrutura mais recente instalada no computador para um identificador de estrutura de destino fornecido 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 os arquivos relacionados, como arquivos XML e .pdb que têm o mesmo nome de 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 de primeira ordem, que estão contidas no parâmetro ResolvedFiles.

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 opcional ITaskItem[].

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

Especifica todos os arquivos satélites encontrados. Eles serão CopyLocal=true se a referência ou a dependência que causou a existência deste 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}: especifica que a tarefa examinará os metadados HintPath do item de base.
- {CandidateAssemblyFiles}: especifica que a tarefa examinará os arquivos transmitidos por meio do parâmetro CandidateAssemblyFiles.
- {Registry:<AssemblyFoldersBase>, <RuntimeVersion>, <AssemblyFoldersSuffix>}: especifica que a tarefa 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}: especifica que a tarefa usará o esquema de localizar assemblies de Registro do Visual Studio.NET 2003.
- {GAC}: especifica a tarefa que 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 cada cultura e PKT encontrados que não tinham uma entrada bindingRedirect adequada no arquivo de configuração de aplicativo.

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

Atributo - Include: contém o nome completo da família do assembly com um valor de campo de versão 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. Este parâmetro é necessário para determinar o status de CopyLocal para os itens resultantes.

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

O TargetFrameworkMoniker para monitorar, se houver. Isso é usado para registro em log.
TargetFrameworkMonikerDisplayName Parâmetro String opcional.

O nome de exibição do TargetFrameworkMoniker para monitorar, se houver. Isso é usado para registro em 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á nenhuma 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 esse for Error, um erro será registrado. Quando for Warning, um aviso será registrado. Quando for 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