dotnet build指定FileLogger日志文件失效咨询(原MSBuild语法可用)
解决dotnet build中FileLogger参数无效的问题
嗨,我来帮你搞定这个问题!你遇到的情况是因为dotnet CLI和原生MSBuild的参数语法并不完全一致——虽然dotnet build底层依赖MSBuild,但它对参数做了一层封装,不能直接照搬MSBuild的/l参数格式。
正确的dotnet build命令写法
你需要把原来的/l换成dotnet CLI专用的--logger参数,格式调整如下:
dotnet build --logger:"FileLogger,Microsoft.Build.Engine;logfile=MyLog.log"
额外细节说明
- 如果需要指定日志文件的完整路径,直接写入绝对路径即可,比如:
dotnet build --logger:"FileLogger,Microsoft.Build.Engine;logfile=C:\BuildLogs\MyLog.log" - 如果希望每次构建覆盖旧日志(默认是追加模式),可以加上
append=false参数:dotnet build --logger:"FileLogger,Microsoft.Build.Engine;logfile=MyLog.log;append=false"
为什么原来的MSBuild命令能用?
原生MSBuild.exe直接支持/l(/logger的缩写)参数,但dotnet CLI要求使用长格式的--logger参数,并且参数值的引号包裹方式需要注意(Windows cmd里建议用双引号,PowerShell和Linux/macOS终端里单双引号均可)。
这样调整后应该就能正常生成你指定的日志文件啦!
内容的提问来源于stack exchange,提问作者Noel
相关产品推荐
相关产品推荐

