Поделиться через


Задача 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>

См. также