gpt4 book ai didi

visual-studio-2010 - Visual Studio 项目中 AfterBuild 任务的顺序......?

转载 作者:行者123 更新时间:2023-12-03 11:50:06 26 4
gpt4 key购买 nike

我在我的 Visual Studio 项目中定义了几个具有不同条件的 AfterBuild - 任务:

<Target Name="AfterBuild" Condition="'$(Configuration)'=='FinalBuilder'">
<Message Importance="high" Text="--- AfterBuild for FinalBuilder ---" />
</Target>
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<Message Importance="high" Text="--- AfterBuild for MvcBuildViews ---" />
</Target>

但如果条件匹配,则只执行最后一个。如果我选择 FinalBuilder-Configuration,则 AfterBuild 任务将被忽略且不执行。如果我更改项目文件中目标的顺序(Condition="'$(Configuration)'=='FinalBuilder'"作为最后一个),FinalBuilder-Configuration 的 AfterBuild 将被执行,但 MvcBuildViews 的一个被忽略。

目标的顺序重要吗?是否只考虑最后一个 AfterBuild 任务?或者如何定义具有不同条件的不同 AfterBuild 任务?

谢谢

康拉德

最佳答案

唯一的第二个被执行,因为它被重新定义。见 MSDN (在项目文件章节中声明目标)。

您应该在项目文件中只使用一个 AfterBuild 目标,如下所示:

<Target Name="AfterBuild" >
<Message Condition="'$(MvcBuildViews)'=='true'" Importance="high" Text="--- AfterBuild for MvcBuildViews ---" />
<Message Condition="'$(Configuration)'=='FinalBuilder'" Importance="high" Text="--- AfterBuild for FinalBuilder ---" />
</Target>

编辑:
或使用 CallTarget任务:
<Target Name="AfterBuild" >
<CallTarget Condition="'$(MvcBuildViews)'=='true'" Targets="MvcBuildTarget" />
<CallTarget Condition="'$(Configuration)'=='FinalBuilder'" Targets="FinalBuilderTarget" />
</Target>

<Target Name="MvcBuildTarget">
<Message Importance="high" Text="--- AfterBuild for MvcBuildViews ---" />
</Target>

<Target Name="FinalBuilderTarget" >
<Message Importance="high" Text="--- AfterBuild for FinalBuilder ---" />
</Target>

关于visual-studio-2010 - Visual Studio 项目中 AfterBuild 任务的顺序......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709946/

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