DownloadFile 任务
使用超文本传输协议 (HTTP) 下载指定文件。
注意
DownloadFile 任务仅在 MSBuild 15.8 及更高版本中提供。
参数
下表描述了 DownloadFile
任务的参数。
参数 | 说明 |
---|---|
DestinationFileName |
可选的 ITaskItem 参数 要用于所下载文件的名称。 默认情况下,文件名派生自 SourceUrl 或者远程服务器。 |
DestinationFolder |
必选 ITaskItem 参数。 指定文件要下载到的目的文件夹。 如果不存在,则创建一个文件夹。 |
DownloadedFile |
可选 ITaskItem 输出参数。 指定已下载的文件。 |
Retries |
可选 Int32 参数。指定之前的所有尝试都失败后,尝试下载的次数。 默认为零。 |
RetryDelayMilliseconds |
可选 Int32 参数。指定任意必要重试之间的延迟(以毫秒为单位)。 默认为 5000。 |
SkipUnchangedFiles |
可选 Boolean 参数。如果为 true ,则跳过下载未更改文件。 默认为 true 。 根据远程服务器,如果文件的大小和上次修改时间相同,则 DownloadFile 任务认为文件保持不变。 注意:并非指示文件最后修改日期的所有 HTTP 服务器都导致再次下载文件。 |
SourceUrl |
必选 String 参数。指定要下载的 URL。 |
备注
除上面列出的参数外,此任务还从 TaskExtension 类继承参数,后者自身继承自 Task 类。 有关这些其他参数的列表及其说明的信息,请参阅 TaskExtension 基类。
示例
以下示例在生成项目前下载文件并将其包含在 Content
项中。
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MyUrl>https://raw.githubusercontent.com/Microsoft/msbuild/master/LICENSE</MyUrl>
</PropertyGroup>
<Target Name="DownloadContentFiles" BeforeTargets="Build">
<DownloadFile
SourceUrl="$(MyUrl)"
DestinationFolder="$(MSBuildProjectDirectory)">
<Output TaskParameter="DownloadedFile" ItemName="Content" />
</DownloadFile>
</Target>
</Project>