如何在PowerShell中为TFS2013构建脚本中的SolutionPath?

时间:2015-04-27 13:21:40

标签: msbuild powershell-v2.0 tfs2013

在TFS2013构建中,在构建定义的构建后路径中,我调用PowerShell脚本,该脚本需要获取之前构建的解决方案的路径。

但是环境变量中没有提供SolutionPath varibale,我们无法在定义构建中的Post-Build Arguments中传递此变量。

在没有修改构建模板的情况下,您有没有提示?

谢谢。

1 个答案:

答案 0 :(得分:0)

在我看来,tfbuild中没有SolutionPath变量的原因是因为没有义务在构建过程中只构建一个解决方案。

为了在使用构建完成解决方案后运行脚本,您可以添加After..sln.targets并指定要执行的任务(powershell task在msbuild中)

http://sedodream.com/2010/10/22/MSBuildExtendingTheSolutionBuild.aspx

MSBuild - Project-specific targets for solution does not work

另一个选项是:如果您想要根文件夹下的相对路径,您可以在脚本中使用$env:TF_BUILD_SOURCESDIRECTORY,这将引导您进入构建的\src文件夹

Get-ChildItem $env:TF_BUILD_SOURCESDIRECTORY | Where-Object FullName -Like "*.sln" | foreach {$_.FullName}