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>

另请参阅