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

How to get user directory in a cake build

我需要我的 cake 脚本中的用户目录路径(绝对路径),以便将构建代理的 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"));
    }
});