【问题标题】:How do I pass my own custom arguments to build.ps1?如何将我自己的自定义参数传递给 build.ps1?
【发布时间】:2017-02-24 02:20:43
【问题描述】:

我尝试了 build.ps1 -SettingsProfile "Customer",但它输出了

More than one build script specified.

在我的 Cake 脚本中,我通过以下方式获取

Argument("SettingsProfile", "Default")

如果我跳过 build.ps1 的参数,那么它会起作用,但显然会变成“默认”。

【问题讨论】:

    标签: c# cakebuild


    【解决方案1】:

    我假设您使用的是 default boostrapper。 如果是这样,您可以使用 -ScriptArgs 参数来传递您的自定义 Cake 参数。

    Cake 参数的格式不像标准 PowerShell 参数 (-Key value),而是像 --Key="value" 因此,您的场景将如下所示

    .\build.ps1 -ScriptArgs '--SettingsProfile="Customer"'
    

    您的 Cake 脚本参数用法看起来不错,因此上述修改应该可以解决您的问题。

    【讨论】:

    • 谢谢!对它进行排序。
    • 是:powershell -File build.ps1 -ScriptArgs '--deployEnv=st','--bldversion=1.2.3'
    • @JohnKorsnes:以你的方式使用多个参数给了我一个“指定的多个构建脚本”powershell -File build.ps1 -ScriptArgs '--deploymentPackagePath=\\server\folder1','--releasePackagePath=\\server\folder2'
    • 它比这样更奇怪,因为.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"' -Target Package 在添加第三个参数.\build.ps1 -ScriptArgs '--dir="../CompulsoryCow.Meta/CompulsoryCow.Meta"', '--proj="CompulsoryCow.Meta"', '--version="3.0.2"' -Target Package 时会产生Error: Argument value is not a valid boolean value.
    【解决方案2】:

    根据您还想走多远,您还可以选择扩展引导程序以接受您的输入参数作为 PowerShell 参数。这里有一个关于如何扩展引导​​程序的教程:

    http://cakebuild.net/docs/tutorials/extending-the-bootstrapper

    【讨论】:

      猜你喜欢
      • 2014-06-09
      • 2021-08-18
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      相关资源
      最近更新 更多