我基本上要求更新已回答问题的日期答案:Can I pass a parameter to a F# FAKE build script?
这是build.fsx
let revisionNumber = getBuildParamOrDefault "rev" "123"
Target "Log" (fun _ ->
trace ("Revision Number: " + revisionNumber)
)
RunTargetOrDefault "Log"
输出正在运行Fake.exe .\build.fsx
:
完美!
输出正在运行Fake.exe .\build.fsx rev=456
(根据此回答建议:https://stackoverflow.com/a/26597179/2382536):
以
开头但是在底部给出了正确的结果:
我需要采用什么格式传递参数以消除警告信息?
答案 0 :(得分:1)
使用--envvar
参数完成传递参数。直到最近,您可以按照您在构建目标之后执行的方式添加参数,但不能再添加参数。我相信这是为了不将构建参数与(可选的)构建目标名称混淆。
所以,试试这个:
fake build.fsx Push --envvar rev 456
答案 1 :(得分:1)
您可以使用
--envvar [-ev] <name:string> <value:string>
将变量设置为自定义值,或
--envflag [-ef] <name:string>
将变量设置为true或
--fsiargs --debug+ buildscript.fsx someArg1 anotherArg2
将所有参数(包括构建脚本名称,importent!)直接传递给fsi.exe