在TFS2013构建中,在构建定义的构建后路径中,我调用PowerShell脚本,该脚本需要获取之前构建的解决方案的路径。
但是环境变量中没有提供SolutionPath varibale,我们无法在定义构建中的Post-Build Arguments中传递此变量。
在没有修改构建模板的情况下,您有没有提示?
谢谢。
答案 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}