我们说我有以下文件夹结构
build
build.fsx
build.bat
//build tools etc.
src
Project1
Project2
//...
当我在build.fsx中运行我的RestorePackages()时,它会在" ./**/ packages.config"中查找packages.config。 (根据documentation),并将忽略要在项目文件夹中恢复的所有包。
我可以使用this method并且可能会逐个为每个项目的packages.config提供路径,但是每次添加新项目时我都不想更改构建脚本溶液
有没有办法让RestorePackages()在某个特定路径中查找所有packages.config?
编辑:
其他相关问题。我明白了,我必须将nuget路径传递给RestorePackage,因为默认情况下它似乎是在./tools/nuget/nuget.exe中。我可以这样做:
RestorePackage(fun p -> { p with ToolPath = "my/nuget/path"})
但我不知道如何将它与你提供的例子联系起来。管道和函数调用对我来说,F#语法仍然有点混乱。
答案 0 :(得分:6)
我看到两个解决方案。
let RestorePackages() = !! "./../**/packages.config" |> Seq.iter (RestorePackage id)