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

标签 c# docker home-directory cakebuild

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

关于c# - 如何在蛋糕构建中获取用户目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46072053/

相关文章:

c# - NLog 到数据库 (Oracle)

c# - 是否有更短/更简单的 for 循环版本 x 次?

c# - "System.Threading.Tasks.Task` 1[System.Web.Mvc.ActionResult]”显示而不是 View

c# - 如何抽象出此 Entity Framework IQueryable 查询中的选择?

docker - Docker未在Colab上运行

docker - 手动删除旧的 Docker 镜像安全吗?

azure - 在Azure多容器应用程序上打开ssh端口

c - 使用 C 语言在 Mac OS X 中获取主目录

ubuntu - 更改主目录 Ubuntu 14.10