gpt4 book ai didi

msbuild - 批处理脚本 - 如果成功,将 msbuild 输出转储到特定文件而不是控制台窗口?

转载 作者:行者123 更新时间:2023-12-03 23:27:45 26 4
gpt4 key购买 nike

我不知道该怎么做。我有一个批处理脚本文件,用于执行多个 msbuild 调用。我不希望 msbuild 输出污染我的命令窗口,而是希望它转储到日志文件中。我不知道该怎么做,但到目前为止,这是我的脚本:

@ECHO Building shared libraries ...

msbuild "SharedLibraries.sln"
:: Not sure how to catch an unsuccessful build here for my GOTO ERROR?
:: Copy dll files to specific location

@ECHO Building primary application...

msbuild "Myapp.sln"
:: Not sure how to catch an unsuccessful build here for my GOTO ERROR?

:ERROR

那么,我该如何:
  • 将 msbuild 输出转储到日志文件?
  • 捕获不成功的构建并转到错误标签?
  • 最佳答案

    添加 /fileLogger命令行开关会导致 MSBuild 将构建输出写入当前目录中的文件 msbuild.log,而 /noconsolelogger开关导致 MSBuild 不再写入标准输出。可以使用 /flp 设置文件名切换如下例所示:

    msbuild "SharedLibraries.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=buildlog.txt

    MSBuild Command Line Reference详情。

    关于你的第二个问题;如果构建失败,MSBuild 会返回一个非零退出代码,可以照常处理:
    msbuild "SharedLibraries.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=SharedLibraries.log
    if not errorlevel 0 goto ERROR

    msbuild "Myapp.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=Myapp.txt
    if not errorlevel 0 goto ERROR

    :ERROR

    关于msbuild - 批处理脚本 - 如果成功,将 msbuild 输出转储到特定文件而不是控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6846987/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com