ResolveAssemblyReference - задача
Определяет все сборки, которые зависят от указанных сборок, включая зависимости второго и n
-го порядка. См. также сведения об устранении ошибок сборки со ссылками на сборку.
Параметры
В следующей таблице приводятся параметры задачи ResolveAssemblyReference.
Параметр | Описание |
---|---|
AllowedAssemblyExtensions |
Необязательный параметр String[] .Расширения имен файлов сборки для использования при разрешении ссылок. Расширения имен файлов по умолчанию и exe dll . |
AllowedRelatedFileExtensions |
Необязательный параметр String[] .Расширения имен файлов для поиска файлов, связанных друг с другом. Расширения по умолчанию и pdb xml . |
AppConfigFile |
Необязательный параметр String .Указывает файл app.config, из которого анализируются и извлекаются сопоставления bindingRedirect. Если этот параметр указан, параметр AutoUnify должен иметь значение false . |
Assemblies |
Необязательный параметр ITaskItem[] .Указывает элементы, для которых следует идентифицировать полные пути и зависимости. Имена этих элементов могут быть как простыми, например "System", так и строгими, например "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089". Элементы, переданные в этот параметр, могут дополнительно иметь метаданные следующего элемента: - Private : значение Boolean . Если значение true , элемент копируется локально. Значение по умолчанию — true .- HintPath : значение String . Указывает путь и имя файла для использования в качестве ссылки. Эти метаданные используются при {HintPathFromItem} указании в параметре SearchPaths . Значение по умолчанию — пустая строка.- SpecificVersion : значение Boolean . Если значение true , имя, указанное в атрибуте Include , должно в точности совпадать. Если false , любая сборка с тем же простым именем работает. Если SpecificVersion не указано, задача проверяет значение в Include атрибуте элемента. Если атрибут является простым именем, он ведет себя, как если бы параметр SpecificVersion имел значение false . Если атрибут является строгим именем, он ведет себя, как если бы параметр SpecificVersion имел значение true .При использовании типа элемента ссылки атрибут Include должен быть полным фьюжн-именем сборки, которую необходимо разрешить. Сборка разрешается, только если фьюжн точно совпадает с атрибутом Include .Если проект предназначен для определенной версии .NET Framework и ссылается на сборку, скомпилированную для более поздней версии .NET Framework, ссылка разрешается, только если для SpecificVersion задано значение true .Если проект предназначен для профиля и ссылается на сборку, которая не указана в профиле, ссылка разрешается только в том случае, если он SpecificVersion установлен true .- ExecutableExtension : значение String . Если параметр присутствует, у разрешенной сборки должно быть это расширение. Если он отсутствует, dll сначала следует за каждым проверяемым каталогом .exe .- SubType : значение String . Только элементы с пустыми SubType метаданными разрешаются в полные пути сборки. Элементы с метаданными nonempty SubType игнорируются.- AssemblyFolderKey : значение String . Эти метаданные поддерживаются для обратной совместимости. Они указывают пользовательский раздел реестра, такой как hklm\<VendorFolder>, который Assemblies следует использовать для разрешения ссылок на сборки. |
AssemblyFiles |
Необязательный параметр ITaskItem[] .Указывает список полных сборок, для которых необходимо найти зависимости. Элементы, переданные в этот параметр, могут дополнительно иметь метаданные следующего элемента: - Private : необязательное значение Boolean . Если задано значение true, элемент копируется локально.- FusionName : необязательные метаданные String . Указывает простое или строгое имя для этого элемента. Если этот атрибут присутствует, он может сэкономить время, так как файл сборки не должен быть открыт для получения имени. |
AssemblyInformationCacheOutputPath |
Необязательный параметр String .Если принимает ненулевое значение, сериализует не учитывающие компьютер сведения о входных данных AssemblyFiles в именованный файл. Этот параметр переопределяет обычный кэш, поэтому используйте этот параметр, только если вы создаете пакет SDK со многими ссылками и планируете отправить кэш клиентам. |
AssemblyInformationCachePaths |
Необязательный параметр ITaskItem. Если значение null не равно null, этот набор кэшей используется в качестве входных данных, если MSBuild не может найти обычный кэш в папке obj. Обычно предоставляется в пакете SDK для повышения производительности первой сборки. |
AutoUnify |
Необязательный параметр Boolean .Этот параметр используется для сборки сборок, таких как библиотеки DLL, которые не могут иметь обычный файл App.Config . Если задано значение true , полученная схема зависимостей автоматически обрабатывается, как если бы файл App.Config был передан в параметр AppConfigFile. Этот виртуальный файл App.Config содержит запись bindingRedirect для каждого конфликтующего набора сборок таким образом, что выбирается сборка самой последней версии. Вследствие этого предупреждение о конфликтующих сборках никогда не появляется, так как каждый конфликт разрешается.Когда true каждое различающееся переназначает комментарий с высоким приоритетом, показывающий старые и новые версии, и это AutoUnify было true .AppConfigFile Если true параметр должен быть пустым.Если задано значение false , повторное сопоставление версий сборки не происходит автоматически. При наличии двух версий сборки возникает предупреждение.Если задано значение false , каждый отдельный конфликт между двумя версиями одной сборки приводит к комментарию с высоким приоритетом. После этих комментариев следует одно предупреждение. Предупреждение содержит уникальный код ошибки и содержит текст, который считывает "Найденные конфликты между различными версиями ссылочных и зависимых сборок".Значение по умолчанию — false . |
CandidateAssemblyFiles |
Необязательный параметр String[] .Указывает список сборок, используемых в процессе поиска и разрешения. Значения, переданные в этот параметр, должны быть абсолютными именами файлов или именами файлов проекта. Сборки в этом списке считаются, когда SearchPaths параметр содержит {CandidateAssemblyFiles} в качестве одного из путей, которые следует рассмотреть. |
CopyLocalDependenciesWhenParentReferenceInGac |
Необязательный параметр Boolean. Если задано значение true, для определения того, следует ли копировать зависимость локально, проверяется, заданы ли в родительской ссылке в файле проекта частные метаданные. Если значение задано, частное значение используется в качестве зависимости. Если метаданные не заданы, зависимость проходит те же проверки, что и родительская ссылка. Одна из этих проверок выполняется, чтобы узнать, находится ли ссылка в глобальном кэше сборок. Если ссылка находится в GAC, она не копируется локально, так как предполагается, что она находится в GAC на целевом компьютере. Это применяется только к конкретной ссылке, а не к ее зависимостям. Например, ссылка в файле проекта, который находится в GAC, не копируется локально, но его зависимости копируются локально, так как они не находятся в GAC. Если значение false, ссылки на файлы проекта проверяются, есть ли они в GAC и копируются локально. Зависимости проверяются, есть ли они в GAC, а также проверяются, есть ли родительская ссылка из файла проекта в GAC. Если родительская ссылка из файла проекта находится в GAC, зависимость не копируется локально. Имеет ли этот параметр значение true или false, если в GAC есть несколько родительских ссылок, а все из них копируются локально. |
CopyLocalFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Возвращает каждый файл в параметрах ResolvedFiles , ResolvedDependencyFiles , RelatedFiles , SatelliteFiles и ScatterFiles , который содержит метаданные элемента CopyLocal со значением true . |
DependsOnNETStandard |
Выходной параметр Boolean . Указывает, зависит ли любая из разрешенных первичных ссылок от .NET Standard. |
DependsOnSystemRuntime |
Выходной параметр Boolean . Указывает, зависит ли любая из разрешенных первичных ссылок от System.Runtime. |
DoNotCopyLocalIfInGac |
Необязательный параметр Boolean .Включает устаревший режим для определения CopyLocal. Если значение true, ссылки на сборки не будут скопированы локально, если они найдены в GAC. Если значение false, сборки копируются локально, если они не найдены только в GAC. Значение по умолчанию — false . |
FilesWritten |
Необязательный выходной параметр ITaskItem[] .Содержит элементы, записанные на диск. |
FindDependencies |
Необязательный параметр Boolean .Если true обнаружены зависимости. В противном случае выполняется поиск только первичных ссылок. Значение по умолчанию — true . |
FindDependenciesOfExternallyResolvedReferences |
Необязательный параметр Boolean .Принудительный обход зависимостей, даже если в метаданных ссылки есть пометка ExternallyResolved=true . |
FindRelatedFiles |
Необязательный параметр Boolean .Если true найдены связанные файлы, такие как pdb файлы и xml файлы. Значение по умолчанию — true . |
FindSatellites |
Необязательный параметр Boolean .При true обнаружении вспомогательных сборок. Значение по умолчанию — true. . |
FindSerializationAssemblies |
Необязательный параметр Boolean .Если значение true , задача ищет сборки сериализации. Значение по умолчанию — true . |
FullFrameworkAssemblyTables |
Необязательный параметр ITaskItem[] .Указывает элементы, имеющие FrameworkDirectory метаданные для связывания списка redist с определенным каталогом платформы. Если связь не сделана, регистрируется ошибка. Логика разрешения ссылок на сборку (RAR) использует целевой каталог платформы, если FrameworkDirectory не задан. |
FullFrameworkFolders |
Необязательный параметр System.String[] .Указывает папки, содержащие каталог RedistList. Этот каталог представляет полную платформу для заданного клиентского профиля, например %programfiles%\reference assemblies\microsoft\framework\v4.0. |
FullTargetFrameworkSubsetNames |
Необязательный параметр String[] .Содержит список имен подсети целевой платформы. Если имя подсети в списке совпадает с именем в свойстве имени TargetFrameworkSubset , система исключает эту подсеть целевой платформы во время сборки. |
IgnoreDefaultInstalledAssemblyTables |
Необязательный параметр Boolean .Если значение true , задача ищет и использует дополнительные установленные таблицы сборок (или "списки Redist"), которые находятся в каталоге \RedistList в разделе TargetFrameworkDirectories . Значение по умолчанию — false. . |
IgnoreDefaultInstalledAssemblySubsetTables |
Необязательный параметр Boolean .Если значение true , задача ищет и использует дополнительные установленные таблицы подмножеств сборки (или "списки подмножеств"), которые находятся в каталоге \SubsetList в разделе TargetFrameworkDirectories . Значение по умолчанию — false. . |
IgnoreTargetFrameworkAttributeVersionMismatch |
Необязательный параметр Boolean .Если true задача разрешает сборки, предназначенные для более высокой платформа .NET Framework версии, чем текущий проект. Значение по умолчанию — false пропускает эти ссылки. |
IgnoreVersionForFrameworkReferences |
Необязательный параметр Boolean .Если первичная ссылка является сборкой платформы, сведения о ее версии игнорируются и выполняется фактическое разрешение сборки платформы из текущей целевой платформы. |
InstalledAssemblySubsetTables |
Необязательный параметр ITaskItem[] .Содержит список XML-файлов, которые указывают сборки, ожидающиеся в целевой подсети. В качестве параметра элементы в этом списке могут указывать FrameworkDirectory метаданные для связывания InstalledAssemblySubsetTable с каталогом определенной платформы. Если есть только один TargetFrameworkDirectories элемент, то все элементы в этом списке, которые не имеют FrameworkDirectory" метаданных, обрабатываются так, как если бы они были заданы для уникального значения, переданного TargetFrameworkDirectories в . |
InstalledAssemblyTables |
Необязательный параметр String .Содержит список XML-файлов, указывающих сборки, которые должны быть установлены на целевом компьютере. Если задано значение InstalledAssemblyTables , более ранние версии сборок в списке объединяются в более новые версии, перечисленные в XML-файле. Кроме того, сборки с параметром InGAC='true" считаются предварительными условиями и задаются только CopyLocal='false' в том случае, если явно переопределено.В качестве параметра элементы в этом списке могут указывать FrameworkDirectory метаданные для связывания InstalledAssemblyTable с определенным каталогом платформы. Однако этот параметр пропускается, если имя Redist не начинается сMicrosoft-Windows-CLRCoreComp .Если есть только один TargetFrameworkDirectories элемент, то все элементы в этом списке, которые не имеют FrameworkDirectory метаданных, обрабатываются так, как если бы они были заданы для уникального значения, переданногоделегата TargetFrameworkDirectories . |
LatestTargetFrameworkDirectories |
Необязательный параметр String[] .Указывает список каталогов, которые содержат списки redist для новейшей платформы, которая может выступать в качестве целевой на компьютере. Если это не задано, используется самая высокая платформа, установленная на компьютере для заданного идентификатора целевой платформы. |
OutputUnresolvedAssemblyConflicts |
Необязательный параметр Boolean .Если принимает значение true , включает все неразрешенные конфликты сборки с диагностическим кодом MSB3277 в выходные данные UnresolveAssemblyConflicts . |
ProfileName |
Необязательный параметр String .Указывает имя целевого профиля платформы. Например, клиент, Интернет или сеть. Относится только к профилям .NET Framework. |
RelatedFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит связанные файлы, такие как XML и файлы с тем же базовым именем, что и pdb ссылка.Файлы, перечисленные в этом параметре, могут содержать следующие метаданные элемента: - Primary : значение Boolean . Если значение true , элемент файла был передан в массив с использованием параметра Assemblies . Значение по умолчанию: false .- CopyLocal : значение Boolean . Указывает, следует ли копировать указанную ссылку в выходной каталог. |
ResolvedDependencyFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит пути n-го порядка для зависимостей. Этот параметр не содержит первичных ссылок первого порядка, содержащихся в параметре ResolvedFiles .Элементы в этом параметре могут содержать следующие метаданные элемента: - CopyLocal : значение Boolean . Указывает, следует ли копировать указанную ссылку в выходной каталог.- FusionName : значение String . Указывает имя для этой зависимости.- ResolvedFrom : значение String . Указывает путь поиска литерала, из которого был разрешен этот файл. |
ResolvedFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит список всех первичных ссылок, разрешенных в полные пути. Элементы в этом параметре могут содержать следующие метаданные элемента: - CopyLocal : значение Boolean . Указывает, следует ли копировать указанную ссылку в выходной каталог.- FusionName : значение String . Указывает имя для этой зависимости.- ResolvedFrom : значение String . Указывает путь поиска литерала, из которого был разрешен этот файл. |
ResolvedSDKReferences |
Необязательный параметр ITaskItem[] .Список ссылок на разрешенный пакет SDK, содержащий имя пакета SDK, расположение пакета SDK и целевую конфигурацию. Эти расположения выполняются только в том случае, если ссылка содержит SDKName к ней метаданные. |
SatelliteFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Указывает все найденные вспомогательные файлы. Эти файлы зависят от CopyLocal=true ссылки или зависимостей, которые привели к существованию CopyLocal=true этого элемента.Элементы в этом параметре могут содержать следующие метаданные элемента: - CopyLocal : значение Boolean . Указывает, следует ли копировать указанную ссылку в выходной каталог. Это значение равно true , если ссылка или зависимость, вызвавшая этот элемент, имеет значение CopyLocal , равное true .- DestinationSubDirectory : значение String . Указывает относительный конечный каталог, в который копируется этот элемент. |
ScatterFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит точечные файлы, связанные с одной из заданных сборок. Элементы в этом параметре могут содержать следующие метаданные элемента: - CopyLocal : значение Boolean . Указывает, следует ли копировать указанную ссылку в выходной каталог. |
SearchPaths |
Обязательный параметр String[] .Указывает каталоги или специальные расположения, в которых выполняется поиск на диске файлов, представляющих сборки. Порядок, в котором перечислены пути поиска, имеет значение. Для каждой сборки поиск по списку путей выполняется слева направо. Когда файл, представляющий сборку, найден, этот поиск останавливается, и начинается поиск для следующей сборки. Этот параметр принимает разделенный точками с запятой список значений, которые могут быть либо путями к каталогам, либо специальными литеральными значениями из следующего перечня: - {HintPathFromItem} : указывает задаче проверять HintPath метаданные базового элемента.- {CandidateAssemblyFiles} : указывает задаче проверять файлы, передаваемые через CandidateAssemblyFiles параметр.- {Registry: <AssemblyFoldersBase>, RuntimeVersion>, <<AssemblyFoldersSuffix>} : указывает задаче выполнять поиск в дополнительных папках, указанных в реестре. Для поиска в расположении реестра <AssemblyFoldersBase>, <RuntimeVersion> и <AssemblyFoldersSuffix> следует заменить на указанные значения. Спецификация по умолчанию для общих целевых — {Registry:$(FrameworkRegistryBase), $(TargetFrameworkVersion), $(AssemblyFoldersSuffix), $(AssemblyFoldersExConditions)}.- {AssemblyFolders} : указывает задаче использовать схему поиска сборок из реестра Visual Studio.NET 2003.- {GAC} : указывает задаче выполнять поиск в глобальном кэше сборок (GAC).- {RawFileName} : указывает, что задача будет рассматривать значение Include элемента в качестве точного пути и имени файла. |
SerializationAssemblyFiles |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит все найденные сборки сериализации XML. Эти элементы помечаются как CopyLocal=true, только если ссылка или зависимость, вызвавшая этот элемент, имеет значение CopyLocal=true. Свойство CopyLocal метаданных Boolean указывает, следует ли копировать указанную ссылку в выходной каталог. |
Silent |
Необязательный параметр Boolean .Если значение true , сообщения не регистрируются. Значение по умолчанию — false . |
StateFile |
Необязательный параметр String .Задает имя файла, указывающее, где следует сохранить промежуточное состояние сборки для этой задачи. |
SuggestedRedirects |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Содержит один элемент для каждого отдельного конфликтующего удостоверения сборки независимо от значения параметра AutoUnify . Сюда входят все язык и региональные параметры и PKT, которые не имели подходящей bindingRedirect записи в файле конфигурации приложения.Каждый элемент может содержать следующие сведения. - Include атрибут: содержит полное имя семейства сборок со значением поля "Версия" 0.0.0.0 - MaxVersion : содержат максимальный номер версии. |
SupportsBindingRedirectGeneration |
Необязательный параметр Boolean .Задайте значение true в поддерживаемых проектах, чтобы создать автоматические перенаправления привязок (в настоящее время поддерживается только для проектов EXE). |
TargetedRuntimeVersion |
Необязательный параметр String .Указывает целевую версию среды выполнения, например 2.0.57027 или v2.0.57027. |
TargetFrameworkDirectories |
Необязательный параметр String[] .Указывает путь каталога целевой платформы. Этот параметр необходим для определения CopyLocal состояния результирующего элемента.Если этот параметр не указан, результирующий элемент не будет иметь CopyLocal значения true , если они явно не имеют Private значения метаданных true в исходном элементе. |
TargetFrameworkMoniker |
Необязательный параметр String .Монитор TargetFrameworkMoniker , если таковой есть. Этот параметр используется для ведения журнала. |
TargetFrameworkMonikerDisplayName |
Необязательный параметр String .Отображаемое имя TargetFrameworkMoniker для отслеживания при его наличии. Этот параметр используется для ведения журнала. |
TargetFrameworkSubsets |
Необязательный параметр String[] .Содержит список имен подсети целевой платформы для поиска в каталогах целевой платформы. |
TargetFrameworkVersion |
Необязательный параметр String .Версия целевой платформы проекта. Значение по умолчанию пусто, что означает отсутствие фильтрации ссылок на основе целевой платформы. |
TargetProcessorArchitecture |
Необязательный параметр String .Предпочитаемая архитектура целевого процессора. Используется для разрешения ссылок на глобальный кэш сборок (GAC). Этот параметр может иметь значение x86 , IA64 или AMD64 .Если этот параметр отсутствует, задача сначала учитывает сборки, соответствующие архитектуре выполняющегося процесса. Если не удалось найти сборку, задача учитывает сборки в глобальном кэше сборок, имеющие значение ProcessorArchitecture , равное MSIL , или не имеющие значение ProcessorArchitecture . |
UnresolvedAssemblyConflicts |
Необязательный выходной параметр ITaskItem[] , доступный только для чтения.Если параметру OutputUnresolvedAssemblyConflicts задано значение true , этот параметр будет содержать список сведений о неразрешенных конфликтах, который обычно включается в выходные данные MSB3277. В противном случае он будет пустым. |
UnresolveFrameworkAssembliesFromHigherFrameworks |
Необязательный параметр Boolean .Если задано значение true , сборки платформ, версии которых выше или равны версии целевой платформы, будут принудительно принимать неразрешенное состояние. |
WarnOrErrorOnTargetArchitectureMismatch |
Необязательный параметр String .Если между целевой архитектурой процессора и архитектурой основной ссылки имеется несоответствие, то при этом Error регистрируется ошибка; если предупреждение регистрируется; при Warning None отсутствии ошибок или предупреждений. По умолчанию — Warning . |
Предупреждения
Регистрируются следующие предупреждения:
ResolveAssemblyReference.TurnOnAutoGenerateBindingRedirects
ResolveAssemblyReference.SuggestedRedirects
ResolveAssemblyReference.FoundConflicts
ResolveAssemblyReference.AssemblyFoldersExSearchLocations
ResolveAssemblyReference.UnifiedPrimaryReference
ResolveAssemblyReference.PrimaryReference
ResolveAssemblyReference.UnifiedDependency
ResolveAssemblyReference.UnificationByAutoUnify
ResolveAssemblyReference.UnificationByAppConfig
ResolveAssemblyReference.UnificationByFrameworkRetarget
Замечания
Помимо перечисленных выше параметров, эта задача наследует параметры от класса TaskExtension, который, в свою очередь, наследует от класса Task. Список этих дополнительных параметров и их описания см. в статье Базовый класс TaskExtension.