You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整自定义MSBuild目标的详细级别以默认显示命令输出?

解决方法

有两种方式可以让你的Exec命令输出默认可见:

1. 修改Exec任务的输出重要性

直接在.csproj的Exec节点里添加StandardOutputImportance和StandardErrorImportance属性,将它们设为High。这样MSBuild默认的日志级别(Information)就能捕捉到这些输出,无需额外加参数。

修改后的目标代码:

<Target Name="AfterRestore" AfterTargets="Restore">
    <Exec Command="./script/after-restore.sh" 
          StandardOutputImportance="High"
          StandardErrorImportance="High" />
</Target>

原理:MSBuild的输出分为不同重要性级别,Normal级别的输出需要-v:n(详细日志)才会显示,而High级别在默认的Information日志级别下就会展示。

2. 通过Directory.Build.rsp设置默认日志级别

在项目根目录创建或修改Directory.Build.rsp文件,添加以下内容:

-v:n

这样每次执行dotnet restore时会自动带上详细日志参数,所有MSBuild的详细输出都会显示。但这种方法会全局提升日志级别,不仅限于你的自定义脚本输出,适合需要查看更多构建细节的场景。

如果你的脚本可能返回非0退出码但不想中断构建,可以给Exec节点额外添加IgnoreExitCode="true"属性。

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 12:42:03