Post MSBuild条件执行器?
我正在使用构建各种项目,您应该能够使用:Post MSBuild条件执行器?,post,msbuild,build,conditional,Post,Msbuild,Build,Conditional,我正在使用构建各种项目,您应该能够使用: 我确实找到了一个适合我需要的解决方案,尽管它可能不是最佳解决方案 请参见我对另一个问题的回答: 谢谢, Alan如果您可以在每个项目中添加以下内容: <Target Name="DoStuffWithNewlyCompiledAssembly"> <Exec Command="" /> </Target> 因此,如果在targetStriguredBycomilation属性中指定目标名称,则如果CoreCo
我确实找到了一个适合我需要的解决方案,尽管它可能不是最佳解决方案 请参见我对另一个问题的回答: 谢谢,
Alan如果您可以在每个项目中添加以下内容:
<Target Name="DoStuffWithNewlyCompiledAssembly">
<Exec Command="" />
</Target>
因此,如果在
targetStriguredBycomilation
属性中指定目标名称,则如果CoreComilate
运行,则目标将运行;如果跳过CoreComilate
,则目标将不运行(例如,因为输出程序集已经是代码的最新版本)。Hi,谢谢你的建议,很抱歉延迟回复。我现在正准备试试这个。我已经试过了,但不管项目是否已构建,它仍在执行命令。请参阅我的最新问题。有什么想法吗?进一步研究后,我可以看到AssembliesBuiltByChildProject确实包含我的程序集的名称。然而,无论该项目是否建成,该值都没有差异。。。这有点令人沮丧,因为距离太近了。有人能解释一下吗?
<Target Name="Name">
<MSBuild Projects="">
<Output TaskParameter="TargetOutputs" ItemName="AssembliesBuiltByChildProjects" />
</MSBuild>
<Exec Command="" Condition="'@(AssembliesBuiltByChildProjects)'!=''" />
<MSBuild Projects="" >
<Output TaskParameter="TargetOutputs" ItemName="AssembliesBuiltByChildProjects" />
</MSBuild>
<Message Text="Assemblies built: @(AssembliesBuiltByChildProjects)" /> <!-- just for debug -->
<Exec Command="" Condition="'@(AssembliesBuiltByChildProjects)'!=''" />
<Target Name="DoStuffWithNewlyCompiledAssembly">
<Exec Command="" />
</Target>
<Target Name="Name">
<MSBuild Projects="" Properties="TargetsTriggeredByCompilation=DoStuffWithNewlyCompiledAssembly" />
</Target>
<CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''"/>