缩小 MSBuild 的冗长程度以限制假构建输出

Narrow down MSBuild verbosity to limit fake build output

有什么想法可以限制假构建中 MSBuild 任务生成的输出吗? 我对查看所有编译信息详细信息不太感兴趣,因为我对查看警告消息很感兴趣。

我开始使用 StyleCop.Analyzers,如果我收到一个警告,很难在构建任务生成的所有消息中观察到。

这是我现在的样子:

// Target Build Application
Target "BuildApp" (fun _ ->
    MSBuildRelease buildDir "Build" appReferences
    |> Log "AppBuild-Output: "
)

MSBuild 帮助器中最通用的帮助器函数是MSBuildHelper.build。所有其他功能都是它的特化。

此函数采用 setParams 函数,它遵循一般的 FAKE 模式:采用默认参数结构并以某种方式对其进行修改。要设置日志详细程度,请使用 MSBuildParameters.Verbosity 字段:

Target "BuildApp" (fun _ -> 
    "Project.sln"
    |> MSBuildHelper.build (fun p ->
        { p with
             Properties = [ "OutputPath", buildDir ]
             Verbosity = Some Minimal
             Targets = [ "Build" ] } ) )

或者,您可以通过修改 MSBuildDefaults 结构来设置整个构建的详细程度:

MSBuildDefaults <- { MSBuildDefaults with Verbosity = Some Minimal }

这样,所有 MSBuild 调用都将使用最少的冗长信息。