我如何在 Cake 中从 Web 下载文件?

How I can download file from web in Cake?

我想在我的 Cake 构建过程中从 github 版本 (https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip) 下载 protobuf 存档。

我在 Cake DSL reference page 上没有找到答案。 有什么建议吗?

更新: 正确!使用它!

其他 Cake 用法之一,如果您找不到某些功能:

Cake 只是基于 .NET 的脚本。您可以使用 WebClient.DownloadFile 方法。

例如:

var buildDir = new DirectoryPath("./target").MakeAbsolute(Context.Environment);
var protocLink = "https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip";
var protocArchive = buildDir.CombineWithFilePath("protoc-2.6.1-win32.zip");

Task("DownloadProtobuf")
    .Does(() =>
    {
        using (var wc = new System.Net.WebClient())
        {
            wc.DownloadFile(protocLink, protocArchive.FullPath);
        }
    });

HTTP / web 操作在下面找到 http://cakebuild.net/dsl/http-operations

DownloadFile(string, ​FilePath)​ 可能就是您要找的。

用法示例:

DownloadFile(
    "https://github.com/google/protobuf/releases/download/v2.6.1/protoc-2.6.1-win32.zip",
    "./protoc-2.6.1-win32.zip"
);