我需要我的蛋糕脚本中的用户目录路径(绝对),以将构建代理的nuget缓存安装到用于构建应用程序的docker容器。我如何获得它们?

Directory("~")

不起作用。

最佳答案

通常,在Windows和* nix上,用户主文件夹都存储在环境变量中。在这种情况下,您应该可以执行以下操作:

Task("Default")
.Does(() =>
{
    if(IsRunningOnWindows()) {
        Information(EnvironmentVariable("HOMEPATH"));
    }
    else
    {
        Information(EnvironmentVariable("HOME"));
    }
});

假设上面包含您想要的内容,则可以将结果传递给Directory()

更新:

请尝试以下操作:
Task("Default")
    .Does(() =>
{
    if(IsRunningOnWindows()) {
        Information("{0}{1}", EnvironmentVariable("HOMEDRIVE"), EnvironmentVariable("HOMEPATH"));
    } else {
        Information(EnvironmentVariable("HOME"));
    }
});

10-06 01:48