CopyRecursive在FAKE脚本中不起作用

时间:2017-10-21 13:16:02

标签: f# f#-fake

我的FAKE构建脚本中定义了以下目标。它正在执行中。我已经验证了这个使用跟踪声明。 " MyWebApp"的文件夹中有一个大型文件结构。我在目标文件夹中没有输出。我能做错什么?

Target "Push" (fun _ ->
    let dir= FileSystemHelper.currentDirectory
    let src = dir+ @"\deploy\" + version + @"\MyWebApp"
    let dest = @"c:\windows\temp\deploy\" + version
    CopyRecursive src dest |> ignore
()

由于 吉姆

1 个答案:

答案 0 :(得分:3)

如果您查看CopyRecursive

definition
let CopyRecursive dir outputDir = copyRecursive (directoryInfo dir) (directoryInfo outputDir)

您可能会注意到它代表部分评估(并且顺便说一下,标记为obsolete)功能copyRecursive具有签名bool->string list

您的脚本将此部分评估的函数值发送给ignore,显然,结果没有任何反应。

为了允许copyRecursive完成其工作,只需提供类型为bool的缺少的第三个输入参数,该参数定义函数是否应覆盖目标目录中具有相同名称的文件。假设这是您想要的行为,只需通过

更改脚本中的对应行
CopyRecursive src dest true |> ignore

这将允许copyRecursive执行其副作用复制魔法,返回复制文件的名称列表,您可以使用ignore丢弃这些文件。