使用Cake Build构建.NET解决方案时WithConsoleLoggerParameter报错求助
看起来你遇到的问题大概率是Cake中WithConsoleLoggerParameter方法的使用方式或者版本兼容问题。我来帮你梳理几个可行的解决办法:
1. 检查Cake版本并升级
如果你的Cake版本比较旧,WithConsoleLoggerParameter这个方法可能还没有被引入。建议把Cake升级到最新的稳定版本,这样就能直接使用这个方法了,升级后你的原有代码应该就能正常工作。
2. 改用WithLogger方法指定控制台记录器参数
如果暂时没法升级版本,可以换用WithLogger方法来显式配置控制台记录器的参数,写法如下:
MSBuild("./solution.sln", new MSBuildSettings() .SetConfiguration(environmentSetting) .SetMSBuildPlatform(MSBuildPlatform.Automatic) .SetVerbosity(Verbosity.Minimal) .SetMaxCpuCount(System.Environment.ProcessorCount) .SetNodeReuse(false) .WithLogger(new MSBuildConsoleLogger { Parameters = "ErrorsOnly" }));
3. 直接添加MSBuild命令行参数
还有一种更直接的方式,就是通过WithArgument方法直接传递MSBuild的原生命令行参数,这种方式和你在PowerShell里的用法完全一致,兼容性最好:
MSBuild("./solution.sln", new MSBuildSettings() .SetConfiguration(environmentSetting) .SetMSBuildPlatform(MSBuildPlatform.Automatic) .SetVerbosity(Verbosity.Minimal) .SetMaxCpuCount(System.Environment.ProcessorCount) .SetNodeReuse(false) .WithArgument("/consoleloggerparameters:ErrorsOnly"));
这几种方法都能实现你想要的“只输出错误日志”的效果,你可以根据自己的Cake版本和需求选择其中一种。
内容的提问来源于stack exchange,提问作者user1676508
相关产品推荐
相关产品推荐

