ADO管道变量使用已安装的nuget版本作为变量



我正在尝试配置Azure DevOps管道,我有一个yaml文件,其中包含如下步骤:

steps:
- task: NuGetCommand@2
displayName: 'Install'
inputs:
command: custom
arguments: install PKGNAME -source PKGSOURCE -outputDirectory F:CSsyn
- task: CmdLine@2
inputs:
script: 'F:CSsynPKGNAME.16.0.12817.30000libnet45Runner.exe Run --arg1 test1 --arg2 test2

它只需安装一个nuget包,然后从该包运行一个可执行文件。唯一的问题是,我的CmdLine任务中的命令取决于安装的软件包的特定版本。由于我正在安装版本正在更改的最新nuget软件包,因此我希望获得它,以便CmdLine任务的路径基于已安装软件包版本的变量。类似于:

script: 'F:CSsynPKGNAME.$(PKGVERSION)libnet45Runner.exe Run --arg1 test1 --arg2 test2

我做了一些挖掘,发现一些任务可以引用其他任务的输出变量,但NuGet任务似乎没有任何输出变量(至少从我所看到的(。我应该用什么来代替$(PKGVERSION)

我不知道你是否可以从NuGet任务中创建一个变量,但我有另一个想法,你可以使用PowerShell获得带有通配符的.exe文件,然后运行它:

- powershell: |
$file = Get-ChildItem "F:CSsyn*libnet45Runner.exe"
& $file Run --arg1 test1 --arg2 test2

最新更新