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

Visual Studio 2019中编辑C#项目AfterBuild目标是否有对应UI界面?

问题内容

今天我在尝试构建一个GitHub项目时了解到了AfterBuild目标,我花了很长时间排查一个在生成后触发的报错命令,由于该项目的生成后事件是空的,我一直无法确定该命令的来源。

我注释了如下标签才解决了该报错:

<Target Name="AfterBuild" DependsOnTargets="_GetSignToolPath">
    <Exec Command="&quot;$(_SignToolPath)&quot; sign /fd sha256 /sha1 $(SigningCertificateThumbprint) /t http://timestamp.verisign.com/scripts/timstamp.dll /v &quot;$(TargetPath)&quot;" />
    <Copy SourceFiles="$(TargetPath)" DestinationFolder="$(MSBuildThisFileDirectory)..\Demo Website\Content" />
  </Target>

我们编辑生成后事件时,可以打开任意C#项目的项目属性,点击Build Events标签页,即可看到编辑生成后事件的选项:
生成事件设置界面

因此想询问,Visual Studio中是否有类似的UI界面可以编辑C#项目的AfterBuild目标?还是只能先卸载项目后修改项目XML文件?我使用的版本是Visual Studio 2019。


解答

Visual Studio 2019 原生没有提供类似生成后事件的可视化UI来编辑AfterBuild这类自定义MSBuild目标,这类配置只能通过编辑项目XML文件完成。

  • 无需提前卸载项目即可编辑XML:在解决方案资源管理器中右键点击对应项目,直接选择「编辑项目文件」,就能打开项目的XML配置直接修改,操作更简便。
  • Build Events标签页的生成后事件本质上也是由VS自动转换为对应的MSBuild目标逻辑执行的,只是简单的命令行操作被封装成了可视化表单便于使用。而AfterBuild目标支持更复杂的配置,比如你遇到的依赖其他目标、执行Copy这类内置MSBuild任务、调用自定义属性等逻辑,无法通过简单的UI表单承载,因此VS没有做对应的可视化编辑入口。
  • 如果项目有大量自定义生成逻辑,建议把独立的目标配置写到单独的.props或.targets文件中,再在项目文件中引入这些文件,既可以让主项目配置更整洁,也方便多项目复用相同的生成规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:27:03