我需要你的帮助。我遇到了一个情况。我试图将某些二进制文件复制到特定的文件夹中。我将这些任务添加到“AfterCompileSolution”中。我知道这是不正确的,bcos会在每个解决方案编译完成后执行此步骤。
这是我的情况,我尝试添加像SolutionFileName这样的条件,但我得到空结果。目标未执行,因为SolutionFileName参数为空。
所以你知道我可以在solutiontobuild之间使用的任何参数,即我想在解决方案“A”完成之后复制某些二进制文件并且我希望这些参数是“AfterCompileSolution”或“BeforeCompileSolution”的一部分
请建议
由于 Satesh
答案 0 :(得分:0)
我已经有一段时间了,但是我相信你用以下语法引用文件名:
<Target Name="AfterCompileSolution" DependsOnTargets="RandomPreReqTarget">
<SomeTask Condition="'%(SolutionToBuildItem.Identity)' == 'ConditionValue'" />
</Target>
您可以做的另一件很酷的事情是您的SolutionToBuild项目中的产品额外属性,并将它们作为元数据引用,如:
<SolutionToBuild Include="$(SolutionRoot)\$(SourceBranch)\RandomDirectory\Project.csproj">
<Targets>Build</Targets>
<Properties>OutDir=$(RandomDirectory);Configuration=$(Configuration);Platform=AnyCPU</Properties>
<GAC>True</GAC>
</SolutionToBuild>
然后您就可以像这样访问元数据:
<Target Name="AfterCompileSolution" DependsOnTargets="RandomPreReqTarget">
<SomeTask Condition="'%(SolutionToBuildItem.GAC)' == 'True'" />
</Target>