Cake MSBuild设置属性

时间:2017-07-10 15:13:33

标签: c# makefile msbuild cakebuild

我有一个批处理文件,我试图用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计数有关。我也无法找到任何方法将其设置为Rebuild,就像批处理方式一样。

1 个答案:

答案 0 :(得分:10)

你得到什么样的错误?

要像在批处理示例中那样重建,您可以使用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