JetBrains Rider构建时触发Pre/Post Build事件的等效条件咨询
问题描述
你在项目的csproj文件中配置了仅在Visual Studio内部构建时触发的预构建事件,配置代码如下:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(BuildingInsideVisualStudio)' == 'true' "> <!-- Pre build stuff --> </Target>
你想确认是否存在等效属性,用于判断项目是否正在Rider内部构建。
解答
Rider确实提供了对应的专属MSBuild属性$(BuildingInsideRider),当项目在Rider内部触发构建时,该属性的值会被自动设为true,用法和Visual Studio的判断逻辑完全一致。
如果需要让预构建事件同时兼容VS和Rider的内部构建场景,可以直接修改条件:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(BuildingInsideVisualStudio)' == 'true' OR '$(BuildingInsideRider)' == 'true'"> <!-- Pre build stuff --> </Target>
如果只需要在Rider内部构建时触发,单独判断该属性即可:
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(BuildingInsideRider)' == 'true'"> <!-- Pre build stuff --> </Target>
内容的提问来源于stack exchange,提问作者Anthony Bias
相关产品推荐
相关产品推荐

