我需要在我的蛋糕脚本中使用用户目录路径(绝对),将构建代理的nuget缓存挂载到构建应用程序的docker容器。我如何得到它们?
Directory("~")
不起作用。
答案 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"));
}
});