【发布时间】:2016-06-14 02:42:39
【问题描述】:
我想将Argument<IEnumerable<string>>(或string[],或其他任何东西 - 一个可迭代的字符串列表)添加到我的 Cake 脚本,但我不知道如何将它从 build.ps1 传递到 cake.exe .
这是我目前所拥有的:
在 build.ps1 中:
param(
# ...
[ValidateSet("Bar", "Baz")]
[string[]]$Foo
)
# ...
$fooArg = If ($Foo.Count -gt 0) {"-foo=`(`"{0}`"`)" -f [string]::Join("`",`", $Foo)} Else {""}
Invoke-Expression "$CAKE_EXE ... $fooArg"
在 build.cake 中:
var baz = Argument<IEnumerable<string>>("foo", new string[0]);
但是,当我执行此操作时,我收到以下错误:
指定了多个构建脚本。
找不到要执行的构建脚本。
第一个参数必须是构建脚本的路径,
或构建脚本应遵循默认脚本名称约定。用法:Cake.exe [build-script] [-verbosity=value] [-showdescription] [-dryrun] [..]
示例:Cake.exe 示例:Cake.exe build.cake -verbosity=quiet 示例:Cake.exe build.cake -showdescription
选项: -verbosity=value 指定要显示的信息量。 (安静、最小、正常、详细、诊断) -showdescription 显示有关任务的描述。 -dryrun 执行试运行。 -version 显示版本信息。 -help 显示使用信息。 -experimental 使用 Roslyn 脚本引擎的夜间版本。
这样做的正确方法是什么?
【问题讨论】:
标签: cakebuild