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