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

MSBuild BeforeBuild目标不生效及执行顺序异常问题排查

问题描述

我有一个使用顶级语句的Hello World控制台应用,代码如下:

Console.WriteLine("Hello world");

为测试构建前自动执行目标,我修改了CSPROJ文件,内容如下:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
    
  <Target Name="BeforeBuild" BeforeTargets="Build">
    <Message Text="BEFORE BUILD TARGET" Importance="high" />
  </Target>
</Project>

我执行dotnet build MyProj.csproj,即使将详细级别调到diagnostic,也看不到消息输出,请问哪里出错了?


编辑
按照@Neil T的建议修改后,执行dotnet build MyProj.csproj的输出如下:

$ MsBuildTargets  dotnet build .\MsBuildTargets.csproj
MSBuild version 17.9.8+610b4d3b5 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  MsBuildTargets -> C:\Users\Amine.Aboufirass\Desktop\TEMP\CommunicateWithCoFlowAPI\MsBuildTargets\bin\Debug\net8.0\MsBuildTargets.dll
  BEFORE BUILD TARGET

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:08.36

看起来消息是在项目构建完成后才显示的,而非构建前,是我理解错了吗?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:32:40