gpt4 book ai didi

c# - 添加在 Visual Studio 2017 RC 中构建 .NET Core 项目后运行的 msbuild 任务

转载 作者:IT王子 更新时间:2023-10-29 04:38:00 25 4
gpt4 key购买 nike

在 Visual Studio 2017 RC 中使用 .NET Core 的 msbuild 中是否有类似 AfterBuild Target 的东西?

我尝试将以下片段添加到 .csproj 文件中,但它在构建过程中没有执行(与它工作的 VS2015 相反)。

<Target Name="AfterBuild">
<Message Importance="High" Text="This is a test" />
</Target>

另一个有趣的发现:我认为 AfterBuild 目标可能已被删除 - 运行 msbuild <project.csproj> /t:AfterBuild似乎没有调用添加的目标。如果我将目标重命名为“测试”,则用 msbuild <project.csproj> /t:Test 调用它它工作得很好。


此外,是否有关于 Visual Studio 2017 RC 附带的 msbuild 版本(可能还有 .NET Core 构建脚本)的文档?

最佳答案

另一种方法是在目标上使用 AfterTargets 属性。像这样的东西:

<Target Name="TestTarget" AfterTargets="Build">
<Message Importance="High" Text="This is a test" />
</Target>

我不确定为什么“AfterBuild”不再起作用,但是 this appears to be a conscious decision by the maintainers of MSBuild (h/t 向 Livven 指出这个 github 问题)。 “AfterBuild”是 Build 目标使用的特殊名称。当前版本Microsoft.Common.CurrentVersion.targets仍然有它:

  <PropertyGroup>
<BuildDependsOn>
BeforeBuild;
CoreBuild;
AfterBuild
</BuildDependsOn>
</PropertyGroup>
<Target
Name="Build"
Condition=" '$(_InvalidConfigurationWarning)' != 'true' "
DependsOnTargets="$(BuildDependsOn)"
Returns="$(TargetPath)" />
<!--

关于c# - 添加在 Visual Studio 2017 RC 中构建 .NET Core 项目后运行的 msbuild 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41473503/

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