Задача ResolveAssemblyReference
Определяет все сборки, зависящие от указанных сборок. Сюда входят зависимости второго и n-го уровня.
Параметры
В следующей таблице описаны параметры задачи ResolveAssemblyReference.
Параметр |
Описание |
---|---|
AllowedAssemblyExtensions |
Необязательный параметр типа String[]. Расширение имени файла сборки для разрешения ссылок. Расширениями имен файлов по умолчанию являются DLL и EXE. |
AllowedRelatedFileExtensions |
Необязательный параметр типа String[]. Расширение имени файла для поиска файлов, связанных друг с другом. Расширениями по умолчанию являются PDB и XML. |
AppConfigFile |
Необязательный параметр типа String. Задает файл app.config для поиска и извлечения сопоставлений bindingRedirect. Если этот параметр задан, то параметр AutoUnify должен иметь значение false. |
AutoUnify |
Необязательный параметр типа Boolean. Этот параметр используется для создания сборок, таких как библиотеки DLL, которые не могут иметь обычный файл App.Config. Если параметр имеет значение true, полученный граф зависимостей автоматически рассматривается таким образом, как если бы в параметр AppConfigFile был передан файл anApp.Config. Этот виртуальный файл App.Config содержит записи bindingRedirect для каждого конфликтующего набора сборок, в результате чего выбирается сборка с наибольшим номером версии. Результатом такой организации является отсутствие предупреждений о конфликтующих сборках, т. к. каждый конфликт разрешается. При значении true, результатом каждое отдельного сопоставления будет высокоприоритетный комментарий, показывающий старую и новую версии, а также то, что AutoUnify равно true Если true, параметр AppConfigFile должен быть пуст Если параметр имеет значение false, сопоставление версии сборки происходит автоматически. При наличии двух версий сборки будет показано сообщение с предупреждением. Если false,результатом каждого отдельного конфликта между различными версиями одинаковых сборок станет высокоприоритетный комментарий. За Этими комментариями следует одно предупреждение. Это предупреждение имеет уникальный код ошибки и содержит текст "Найден конфликт между различными версиям зависимых сборок". |
Assemblies |
Необязательный параметр ITaskItem[] . Задает элементы, для которых необходимо определить полные пути и зависимости. Эти элементы могут иметь простые имена, например "System", или строгие имена, например "System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089". Элементы, передаваемые этому параметру, могут содержать следующие необязательные метаданные:
|
AssemblyFiles |
Необязательный параметр ITaskItem[] . Задает список полных имен сборок для нахождения зависимостей. Элементы, передаваемые этому параметру, могут содержать следующие необязательные метаданные:
|
AutoUnify |
Необязательный параметр типа Boolean. Если параметр имеет значение true, полученный граф зависимостей автоматически рассматривается таким образом, как если бы в параметр AppConfigFile был передан файл App.Config. Этот виртуальный файл App.Config содержит записи bindingRedirect для каждого конфликтующего набора сборок, в результате чего выбирается сборка с наибольшим номером версии. Результатом такой организации является отсутствие предупреждений о конфликтующих сборках, т. к. каждый конфликт разрешается. Результатом каждого отдельного повторного сопоставления станет высокоприоритетный комментарий, в котором будут указаны старая и новая версии, а также упомянут тот факт, что повторное сопоставление было выполнено автоматически ввиду того, что параметр AutoUnify имел значение true. Если параметр имеет значение false, сопоставление версии сборки происходит автоматически. При наличии двух версий сборки будет показано сообщение с предупреждением. Результатом каждого отдельного конфликта между различными версиями одинаковых сборок станет высокоприоритетный комментарий. После отображения всех комментариев появится одно предупреждение с уникальным кодом ошибки и текстом "Найден конфликт между различными версиям зависимых сборок". Значение по умолчанию — false. |
CandidateAssemblyFiles |
Необязательный параметр типа String[]. Указывает список сборок, используемых для поиска и разрешения. Значение, передаваемое в этот параметр, должно быть абсолютным или относительным именем файла. Сборки, содержащиеся в этом списке, будут рассматриваться, если параметр SearchPaths содержит {CandidateAssemblyFiles} как один из путей рассмотрения. |
CopyLocalDependenciesWhenParentReferenceInGac |
Необязательный параметр типа [Boolean]. Если возвращает значение true, то при определении необходимости в локальном копировании зависимости одна из проверок проводится с целью узнать, заданы ли закрытые метаданные родительской ссылки в файле проекта. Если установлен, затем закрытое значение используется как зависимость. Если метаданные не заданы, для зависимости будут использоваться те же проверки, что и для родительской ссылки. Одна из этих проверок проводится с целью узнать, содержится ли ссылка в глобальном кэше сборок. Если ссылка содержится в глобальном кэше сборок, она не копируется локально, так как предполагается, что она содержится в глобальном кэше сборок и на целевом компьютере. Это применимо к конкретной ссылке, но не к ее зависимостям. Например, ссылка в файле проекта, который находится в глобальном кэше сборок, не копируется локально, но его зависимости копируются локально, потому что они не находятся в глобальном кэше сборок. Если значение равно false, проверено, что ссылки на файлы проекта содержатся в глобальном кеше сборок и скопированы локально, как требуется. Проверено наличие зависимостей в глобальном кэше сборок, а также наличие там родительской ссылки из файла проекта. Если родительская ссылка из файла проекта содержится в глобальном кэше сборок, зависимость не будет скопирована локально. Является ли этот параметр true или false, если есть несколько родительских ссылок и любая из них не находятся в глобальном кэше сборок, все они копируются локально. |
CopyLocalFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Возвращает каждый файл в параметрах ResolvedFiles, ResolvedDependencyFiles, RelatedFiles, SatelliteFiles и ScatterFiles , которые содержат элементы метаданных CopyLocal со значением true. |
FilesWritten |
Необязательный выходной параметр ITaskItem[]. Содержит элементы, записываемые на диск. |
FindDependencies |
Необязательный параметр типа Boolean. Если параметр имеет значение true, зависимости будут обнаружены. В противном случае будут найдены только первичные ссылки. Значение по умолчанию — true. |
FindRelatedFiles |
Необязательный параметр типа Boolean. Если параметр имеет значение true, будут найдены связанные файлы, например PDB-файлы и XML-файлы. Значение по умолчанию — true. |
FindSatellites |
Необязательный параметр типа Boolean. Если параметр имеет значение true, будут найдены вспомогательные сборки. Значение по умолчанию — true. |
FindSerializationAssemblies |
Необязательный параметр типа Boolean. Если параметр имеет значение true, задача будет искать сборки сериализации. Значение по умолчанию — true. |
FullFrameworkAssemblyTables |
Необязательный параметр ITaskItem[] Элементы в этом списке должны иметь метаданные "FrameworkDirectory" для связывания распространяемого списка с конкретным каталогом .NET Framework. Если соответствие не выполняется, будет зарегистрирована ошибка. Логика RAR использует каталог требуемой версии .NET Framework, если значение FrameworkDirectory не задано. |
FullFrameworkFolders |
Необязательный параметр [String][] Определяет набор папок, которые содержат каталог RedistList. Этот каталог представляет собой полную платформу для данного клиентского профиля, например, %programfiles%\reference assemblies\microsoft\framework\v4.0. |
FullTargetFrameworkSubsetNames |
Необязательный параметр типа String[]. Содержит список имен подмножеств требуемой версии .NET Framework. Если имя подмножества в списке совпадает с именем в свойстве TargetFrameworkSubset, система исключает конкретное подмножество требуемой версии .NET Framework во время построения. |
IgnoreDefaultInstalledAssemblyTables |
Необязательный параметр типа Boolean. Если параметр имеет значение true, задача ищет и использует дополнительные таблицы установленных сборок (или "распространяемые списки"), расположенные в папке \RedistList по пути TargetFrameworkDirectories. Значение по умолчанию — false. |
IgnoreDefaultInstalledAssemblySubsetTables |
Необязательный параметр типа Boolean. Если параметр имеет значение true, задача ищет и использует дополнительные таблицы подмножеств сборок (или "списки подмножеств"), расположенные в папке \SubsetList по пути TargetFrameworkDirectories. Значение по умолчанию — false. |
InstalledAssemblySubsetTables |
Необязательный параметр ITaskItem[] . Содержит список XML-файлов, определяющих сборки, которые предположительно будут расположены в целевом подмножестве. Элементы в этом списке могут содержать метаданные "FrameworkDirectory" для связывания элемента InstalledAssemblySubsetTable с конкретным каталогом .NET Framework. Если имеется только один элемент TargetFrameworkDirectories, то все элементы списка, для которых нет метаданных "FrameworkDirectory", обрабатываются так, как если бы им было присвоено уникальное значение, передаваемое в TargetFrameworkDirectories. |
InstalledAssemblyTables |
Необязательный параметр типа String. Содержит список XML-файлов, определяющих сборки, которые предположительно будут установлены на целевом компьютере. Если параметр InstalledAssemblyTables задан, более ранние версии сборок в списке будут объединены с более новыми версиями, указанными в XML-файле. Кроме того, сборки, для которых не указано значение InGAC='true', считаются необходимыми для установки, и для них устанавливается CopyLocal='false', если нет явного переопределения. Элементы в этом списке могут содержать метаданные "FrameworkDirectory" для связывания элемента InstalledAssemblyTable с конкретным каталогом .NET Framework. Но этот параметр не учитывается, если имя Redist начинается с "Microsoft-Windows-CLRCoreComp". Если имеется только один элемент TargetFrameworkDirectories, то все элементы списка, для которых нет метаданных "FrameworkDirectory", обрабатываются так, как если бы им было присвоено уникальное значение, передаваемое в TargetFrameworkDirectories. |
LatestTargetFrameworkDirectories |
Необязательный параметр типа String[]. Задает список каталогов, содержащих распространяемые списки для последней версии целевой платформы на машине. Если значение не задано, используется последнюю версию платформы, установленную на машине для заданного идентификатора целевой платформы. |
ProfileName |
Необязательный параметр типа [String].
|
RelatedFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит связанные файлы, например XML- и PDB-файлы, для которых базовое имя совпадает со ссылкой.. Файлы, перечисленные в этом параметре, могут содержать следующие необязательные метаданные.
|
ResolvedDependencyFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит зависимости n-го порядка. Этот параметр не включает первичные ссылки, содержащиеся в параметре ResolvedFiles. Элементы этого параметра могут содержать следующие метаданные элементов.
|
ResolvedFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит список всех первичных ссылок, разрешаемых в полные пути. Элементы этого параметра могут содержать следующие метаданные элементов.
|
SatelliteFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Указывает любые вспомогательные файлы. Параметр "CopyLocal" должен иметь значение "true", если ссылка или зависимость, вызвавшая этот элемент, имеет элемент метаданных "CopyLocal" со значением "true". Элементы этого параметра могут содержать следующие метаданные элементов.
|
ScatterFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит точечные файлы, связанные с одной из сборок. Элементы этого параметра могут содержать следующие метаданные элементов.
|
SearchPaths |
Обязательный параметр типа String[]. Указывает каталоги или специальные расположения, в которых производится поиск файлов на диске, представляющих сборки. Порядок, в котором перечислены пути поиска, имеет значение. Для каждой сборки поиск в списке путей происходит слева направо. Когда файл, представляющий сборку, найден, поиск останавливается, и начинается поиск для следующей сборки. Этот параметр принимает значения следующих типов.
|
SerializationAssemblyFiles |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит все найденные сборки сериализации XML. Эти элементы помечаются CopyLocal = true только в том случае, если ссылка или зависимость, который является причиной существования этого элемента, содержит CopyLocal = true. Метаданные Boolean CopyLocal указывает, следует ли скопировать данную ссылку в выходной каталог. |
Silent |
Необязательный параметр типа Boolean. Если параметр имеет значение true, сообщения не протоколируются. Значение по умолчанию — false. |
StateFile |
Необязательный параметр типа String. Определяет имя файла, указывающее, где сохраняется промежуточное состояние построения для данной задачи. |
SuggestedRedirects |
Необязательный выходной параметр ITaskItem[], предназначенный только для чтения. Содержит один элемент для каждого отдельного набора конфликтующих сборок, не учитывая значение параметра AutoUnify. Включает все языковые и региональные параметры и маркер открытого ключа, которые найдены, но не имеют соответствующей записи bindingRedirect в файле конфигурации приложения. Каждый элемент может содержать следующие сведения.
|
TargetedRuntimeVersion |
Необязательный параметр типа String. Указывает требуемую версию среды выполнения, например 2.0.57027 или v2.0.57027. |
TargetFrameworkDirectories |
Необязательный параметр типа String[]. Указывает путь к каталогу требуемой версии .NET Framework. Этот параметр необходим для определения состояния свойства CopyLocal для результирующих элементов. Если этот параметр не задан, результирующие элементы не будут иметь значение CopyLocal true до тех пор, пока для исходных элементов не будет явно установлено значение true для метаданных Private. |
TargetFrameworkMoniker |
Необязательный параметр типа String. TargetFrameworkMoniker для отслеживания, если имеется. Используется для ведения журнала. |
TargetFrameworkMonikerDisplayName |
Необязательный параметр типа String. Отображаемое имя TargetFrameworkMoniker для отслеживания, если имеется. Используется для ведения журнала. |
TargetFrameworkSubsets |
Необязательный параметр типа String[]. Содержит список имен подмножеств требуемых версий платформы .NET Framework, поиск которых будет выполняться в каталогах требуемых версий платформы. |
TargetFrameworkVersion |
Необязательный параметр типа String. Требуемая версия .NET Framework для проекта. Значение по умолчанию пустое, что свидетельствует об отсутствии фильтрации для ссылок, исходя из требуемой версии .NET Framework. |
TargetProcessorArchitecture |
Необязательный параметр типа String. Предпочитаемая архитектура процессора. Используется для ссылок на глобальный кэш сборок (GAC). Этот параметр может иметь следующие значения: x86, IA64 и AMD64. Если этот параметр отсутствует, задача использует сборку, соответствующую архитектуре текущего выполняемого процесса. Если сборка не найдена, задача выбирает сборки в глобальном кэше сборок, которые для MSIL имеют значение ProcessorArchitecture или не имеют значение ProcessorArchitecture. |
Заметки
Помимо параметров, которые перечислены выше, эта задача наследует параметры от класса TaskExtension, который наследует от класса Task. Чтобы получить список этих доп параметров и их описаний, см. Базовый класс TaskExtension.