FAKE:如何定义 MSBuild 属性?

FAKE: How to define MSBuild properties?

我想从 MSBuild 切换到 FAKE。在我的 MSBuild 脚本中,我通过使用属性 DeployOnBuild=True 和 DeployTarget=Package 调用 MSBuild 创建了一个 Webdeploy 包。这将在构建 运行:

时触发 webdeploy 生成部署包
<MSBuild Projects="@(ItemToBuild)"
         Targets="Build"
         Properties="Configuration=$(Configuration);
                     Platform=$(Platform);
                     DeployOnBuild=True;
                     DeployTarget=Package;
                     OutFolder=$(OutFolder)" />

如何用 FAKE 做同样的事情?我已经走了这么远:

Target "Build" (fun _ ->
    !! solutionFile
    |> MSBuildRelease binDir "Build"
    |> Log "Build-Output: "
)

如何指定所需的属性?

如果您查看 source code,您会发现 MSBuildRelease 只是具有某些预定义属性的 MSBuild 的快捷方式。如果您需要定义其他属性,除了 "Configuration",您可以回退到 MSBuild:

Target "Build" (fun _ ->
    !! solutionFile
    |> MSBuild binDir "Build" 
         [ 
            "Configuration", "Release"
            "Platform", "AnyCPU"
            "DeployOnBuild", "True"
            "DeployTarget", "Package"
            "OutFolder", "/what/ever"
         ]
    |> Log "Build-Output: "
)