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