将参数从 XAML 发布生成参数读取到 Powershell 脚本中



>我有一个Powershell脚本,它根据XML属性文件中的"类型"读取节点值,现在我想从TFS Git XAML构建过程中读取一个参数"类型"节点值。如何在 XAML 生成过程中声明参数并在生成脚本时读取它?

$env="Read from XAML build Process"
$xmlDocPath="D:*****ScriptsConfig.xml";
[xml]$xmlFile = Get-Content $xmlDocPath;
$PathToDropUIcssandjss=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty PathToDropUIcssandjss
$DeployingPackageBranchFolderName=$xml.Objects.Object | Where-Object {$_.type -eq $args[0]} | Select-Object -ExpandProperty DeployingPackageBranchFolderName
$BranchName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty BranchName
$ProjectName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty ProjectName
$Automation=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty Automation
$DeploymentEnvironment=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeploymentEnvironment

我现在可以通过以下命令从 TFS 读取参数

[CmdletBinding()]
param([string]$args)
$env=[string]$args

但是参数 $env 在下面显示的命令中不起作用,但如果我单独显示它,它在此块之外工作

$SourceDir = $Env:TF_BUILD_SOURCESDIRECTORY
$xmlDocPath="$SourceDirScriptsConfig.xml";
[xml]$xmlFile = Get-Content $xmlDocPath;
$PathToDropUIcssandjss=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty PathToDropUIcssandjss
$DeployingPackageBranchFolderName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeployingPackageBranchFolderName
$BranchName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty BranchName
$ProjectName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty ProjectName
$Automation=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty Automation
$DeploymentEnvironment=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeploymentEnvironment

最新更新