如何在蛋糕构建中获取用户目录

时间:2017-09-06 09:50:21

标签: c# docker home-directory cakebuild

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

Directory("~")

不起作用。

1 个答案:

答案 0 :(得分:4)

通常,在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"));
    }
});