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
相关产品推荐
相关产品推荐

