>我有一个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