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

如何排除MSBuild目标不参与IntelliSense构建

检测Visual Studio IntelliSense构建上下文的方法

Visual Studio在为IntelliSense执行设计时构建时,会自动设置特定的MSBuild属性,你可以通过这些属性控制自定义Target是否执行,常用的有两个属性:

  • $(DesignTimeBuild):处于设计时构建(如IntelliSense所需的构建)时,该属性值为true
  • $(BuildingProject):设计时构建中该属性为false,实际编译构建时为true

你可以直接把这些属性用到Target的Condition条件中,实现需求:

方案一:使用DesignTimeBuild属性

<Target Name="MyCustomTask" BeforeTargets="PrepareForBuild" Condition="'$(DesignTimeBuild)' != 'true'">
    <!-- 你的自定义任务逻辑 -->
</Target>

方案二:使用BuildingProject属性

<Target Name="MyCustomTask" BeforeTargets="PrepareForBuild" Condition="'$(BuildingProject)' == 'true'">
    <!-- 你的自定义任务逻辑 -->
</Target>

这两个属性都是MSBuild在不同构建场景下自动注入的,无需额外配置即可直接使用。其中DesignTimeBuild更精准对应IntelliSense这类设计时场景,而BuildingProject则用于区分是否为真正的项目编译构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 19:52:07