Cake MSBuild 设置属性

Cake MSBuild setting properties

我有一个要用 Cake (C# Make) 复制的批处理文件。它使用一些属性调用 MSBuild。这是批处理中的一行;

"%MSBuildPath%msbuild.exe" ..\public\projectToBeBuilt.sln /t:Rebuild /p:Configuration=RELEASE;platform=%platform% /maxcpucount:%cpucount% /v:%verboselevel%

这些是我需要设置的属性。我觉得是这样的;

MSBuild(@"..\public\projectToBeBuilt.sln", s=> s.SetConfiguration("Release")
    .UseToolVersion(MSBuildToolVersion.Default)
    .WithProperty("Verbosity", Verbosity)
    .WithProperty("MaxCpuCount", cpuCount)
    .WithProperty("Platform", "x64")
    .WithProperty("OutDir", buildDir));

我无法完成这项工作。我认为这可能与我指定 cpu 计数的方式有关。我也找不到任何方法将其设置为重建,就像批处理那样。

你遇到了什么样的错误?

要像在批处理示例中那样重建,您可以像这样使用 WithTarget 设置目标

.WithTarget("Rebuild")

关于CPU计数我这样设置没问题

.SetMaxCpuCount(System.Environment.ProcessorCount)

设置平台看起来像这样

.SetPlatformTarget(PlatformTarget.x64)

设置详细程度为

.SetVerbosity(Verbosity)

所以一个完整的命令可能看起来像

MSBuild(solution, settings =>
    settings.SetConfiguration("Release")
        .UseToolVersion(MSBuildToolVersion.Default)
        .WithTarget("Rebuild")
        .SetMaxCpuCount(cpuCount)
        .SetPlatformTarget(PlatformTarget.x64)
        .SetVerbosity(Verbosity)
        .WithProperty("OutDir", buildDir)
        );

记录了 MSBuild 设置的流畅 API 方法 here