ResolveAssemblyReference 任务
更新:2007 年 11 月
确定依赖指定程序集的所有程序集。包括第二和第 n 级依赖项。
参数
下表描述了 ResolveAssemblyReference 任务的参数。
参数 |
说明 |
---|---|
AllowedAssemblyExtensions |
可选的 String[] 参数。 解析引用时要使用的程序集文件扩展名。默认文件扩展名为 .exe 和 .dll。 |
AllowedRelatedFileExtensions |
可选的 String[] 参数。 在搜索相互关联的文件时使用的文件扩展名。默认文件扩展名为 .pdb 和 .xml。 |
AppConfigFile |
可选的 String 参数。 指定一个用于分析和提取 bindingRedirect 映射的 app.config 文件。如果指定了此参数,则 AutoUnify 参数必须为 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} 作为要考虑的路径之一时,将考虑此列表中的程序集。 |
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。 |
FullTargetFrameworkSubsetNames |
可选的 String[] 参数。 包含目标框架子集名称的列表。如果此列表中的某个子集名称与 TargetFrameworkSubset 名称属性中的某个名称匹配,则系统在生成时将排除该特定目标框架子集。 |
IgnoreDefaultInstalledAssemblyTables |
可选的 Boolean 参数。 如果为 true,则该任务将搜索并使用在 TargetFrameworkDirectories 下的 \RedistList 目录中找到的其他已安装的程序集表(或“Redist Lists”)。默认值为 false。 |
IgnoreDefaultInstalledAssemblySubsetTables |
可选的 Boolean 参数。 如果为 true,则该任务将搜索并使用在 TargetFrameworkDirectories 下的 \SubsetList 目录中找到的其他已安装的程序集子集表(或“Subset Lists”)。默认值为 false。 |
InstalledAssemblySubsetTables |
可选的 ITaskItem[] 参数。 包含 XML 文件的列表,这些 XML 文件指定应存在于目标子集中的程序集。 根据需要,此列表中的项可以指定“FrameworkDirectory”元数据,以便将 InstalledAssemblySubsetTable 与特定的框架目录关联。 如果只有一个 TargetFrameworkDirectories 元素,则会将此列表中缺少“FrameworkDirectory”元数据的任何项视为设置为传递给 TargetFrameworkDirectories 的唯一值。 |
InstalledAssemblyTables |
可选的 String 参数。 包含 XML 文件的列表,这些 XML 文件指定应在目标计算机上安装的程序集。 设置了 InstalledAssemblyTables 时,此列表中程序集的早期版本会合并到该 XML 中列出的较新版本中。此外,具有 InGAC='true' 设置的程序集将被视为必备,并设置为 CopyLocal='false'(除非显式重写)。 根据需要,此列表中的项可以指定“FrameworkDirectory”元数据,以便将 InstalledAssemblyTable 与特定框架目录关联。但是,除非 Redist 名称以 “Microsoft-Windows-CLRCoreComp”开头,否则将会忽略此设置。 如果只有一个 TargetFrameworkDirectories 元素,则会将此列表中缺少“FrameworkDirectory”元数据的任何项视为设置为传递给 TargetFrameworkDirectories 的唯一值。 |
RelatedFiles |
可选的 ITaskItem[] 只读输出参数。 包含与引用具有相同基名称的相关文件,如 XML 和 .pdb 文件。 此参数中列出的文件可以包含下面的项元数据:
|
ResolvedDependencyFiles |
可选的 ITaskItem[] 只读输出参数。 包含依赖项的第 n 级路径。此参数不包括第一级主引用,此类引用包含在 ResolvedFiles 参数中。 此参数中的项可以包含以下项元数据:
|
ResolvedFiles |
可选的 ITaskItem[] 只读输出参数。 包含已解析为完整路径的所有主引用的列表。 此参数中的项可以包含以下项元数据:
|
SatelliteFiles |
可选的 ITaskItem[] 只读输出参数。 指定找到的任何附属文件。如果导致此项存在的引用或依赖项为 CopyLocal=true,则这些项为 CopyLocal=true。 此参数中的项可以包含以下项元数据:
|
ScatterFiles |
可选的 ITaskItem[] 只读输出参数。 包含与某个给定的程序集关联的散点文件。 此参数中的项可以包含以下项元数据:
|
SearchPaths |
必选的 String[] 参数。 指定目录或特殊位置,将在其中进行搜索以找到磁盘上表示程序集的文件。搜索路径的列出顺序非常重要。对于每个程序集,都会按从左向右的顺序搜索路径列表。在找到了表示程序集的文件时,会停止该搜索并开始搜索下一个程序集。 此参数接受以下类型的值:
|
Silent |
可选的 Boolean 参数。 如果为 true,将不记录任何消息。默认值为 false。 |
StateFile |
可选的 String 参数。 指定一个文件名,该文件名指示保存此任务的中间生成状态的位置。 |
SuggestedRedirects |
可选的 ITaskItem[] 只读输出参数。 无论 AutoUnify 参数的值如何,对于每个不同的冲突程序集标识都包含一项。这包括已找到的、在应用程序配置文件中没有相应的 bindingRedirect 项的每个区域性和 PKT。 每一项都可以包含以下信息:
|
TargetFrameworkDirectories |
可选的 String[] 参数。 指定目标框架目录的路径。此参数是确定所得到的项的 CopyLocal 状态所必需的。 如果未指定此参数,那么,除非所得到的项在其源项上显式拥有 Private 元数据值 true,否则所得到的项中将没有任何项具有 CopyLocal 值 true。 |
TargetFrameworkSubsets |
可选的 String[] 参数。 包含要在目标框架目录中搜索的目标框架子集名称的列表。 |
TargetFrameworkVersion |
可选的 String 参数。 项目目标框架版本。默认值为空,意味着没有用于基于目标框架的引用的筛选。 |
TargetProcessorArchitecture |
可选的 String 参数。 首选的目标处理器结构。用于解析全局程序集缓存 (GAC) 引用。 此参数的值可以为 x86、IA64 或 AMD64。 如果缺少此参数,该任务将首先考虑与当前运行的进程的体系结构匹配的程序集。如果没有找到程序集,则该任务考虑 GAC 中 ProcessorArchitecture 值为 MSIL 或没有 ProcessorArchitecture 值的程序集。 |
请参见
概念
其他资源
修订记录
日期 |
修订 |
原因 |
---|---|---|
2008 年 7 月 |
添加以下参数:
|
SP1 功能更改。 |