如何在 Azure Devops 的任务中 运行 带有参数的 exe?
How to run an exe with Parameters in a task in Azure Devops?
我想知道我们是否有办法 运行 Azure devops 中的 exe 并为此传递所需的参数。我正在使用下面的任务“PowerShell”,它给了我错误
**
"C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo
-NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a_tempf91c58a-381d-4c41-9969-3038116adefa.ps1'" & : The term
'MyProject.exe' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At D:\a_tempf91c58a-381d-4c41-9969-3038116adefa.ps1:5 char:3"
**
下面是在 YAML 中创建的任务。
- task: PowerShell@2
displayName: Execute .exe file with parameters
inputs:
targetType: 'inline'
script: |
[String]$myrev = $Env:BUILD_BUILDNUMBER
$args = @($myrev)
& 'MyProject.exe' $args
提前感谢您的回复。
更多信息,尝试访问创建构建的路径。在访问 运行 exe 的路径之前,我们正在构建项目并将其保存在默认的 Azure 构建目录中。 仍然是同样的错误,但有完整的路径。
- task: MSBuild@1
inputs:
solution: '**/*.csproj'
clean: true
- task: PowerShell@2
displayName: Execute .exe file with parameters
inputs:
targetType: 'inline'
script: |
[String]$myrev = $Env:BUILD_BUILDNUMBER
$args = @($myrev)
& '$(Build.SourcesDirectory)\MyProject\bin\Release\MyProject.exe' $args
您可以使用 Start-Process 执行带参数的 .exe 文件 (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-7.1)
在您的代码中,它似乎找不到 .exe 文件。首先检查 .exe 文件是否确实存在(您可以使用 Get-ChildItem 获取当前工作目录中所有文件的列表)
BR
您确定您的应用程序可以在当前路径中访问吗?检查您的文件夹内容:
trigger:
- master
pool:
vmImage: windows-2019
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
& cmd /c dir .
更新:
您的解决方案应该有效。测试示例:
trigger:
- master
pool:
vmImage: windows-2019
steps:
- task: VSBuild@1
inputs:
solution: 'ConsoleApp\ConsoleApp.sln'
platform: 'Any CPU'
configuration: 'Release'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
[String]$myrev = $(Build.BuildNumber)
$args = @($myrev)
& '$(Build.SourcesDirectory)\ConsoleApp\ConsoleApp\bin\Release\ConsoleApp.exe' $args
构建结果:
在此处检查您的路径:
我想知道我们是否有办法 运行 Azure devops 中的 exe 并为此传递所需的参数。我正在使用下面的任务“PowerShell”,它给了我错误
**
"C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'D:\a_tempf91c58a-381d-4c41-9969-3038116adefa.ps1'" & : The term 'MyProject.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At D:\a_tempf91c58a-381d-4c41-9969-3038116adefa.ps1:5 char:3"
**
下面是在 YAML 中创建的任务。
- task: PowerShell@2
displayName: Execute .exe file with parameters
inputs:
targetType: 'inline'
script: |
[String]$myrev = $Env:BUILD_BUILDNUMBER
$args = @($myrev)
& 'MyProject.exe' $args
提前感谢您的回复。
更多信息,尝试访问创建构建的路径。在访问 运行 exe 的路径之前,我们正在构建项目并将其保存在默认的 Azure 构建目录中。 仍然是同样的错误,但有完整的路径。
- task: MSBuild@1
inputs:
solution: '**/*.csproj'
clean: true
- task: PowerShell@2
displayName: Execute .exe file with parameters
inputs:
targetType: 'inline'
script: |
[String]$myrev = $Env:BUILD_BUILDNUMBER
$args = @($myrev)
& '$(Build.SourcesDirectory)\MyProject\bin\Release\MyProject.exe' $args
您可以使用 Start-Process 执行带参数的 .exe 文件 (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/start-process?view=powershell-7.1)
在您的代码中,它似乎找不到 .exe 文件。首先检查 .exe 文件是否确实存在(您可以使用 Get-ChildItem 获取当前工作目录中所有文件的列表)
BR
您确定您的应用程序可以在当前路径中访问吗?检查您的文件夹内容:
trigger:
- master
pool:
vmImage: windows-2019
steps:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
& cmd /c dir .
更新:
您的解决方案应该有效。测试示例:
trigger:
- master
pool:
vmImage: windows-2019
steps:
- task: VSBuild@1
inputs:
solution: 'ConsoleApp\ConsoleApp.sln'
platform: 'Any CPU'
configuration: 'Release'
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
[String]$myrev = $(Build.BuildNumber)
$args = @($myrev)
& '$(Build.SourcesDirectory)\ConsoleApp\ConsoleApp\bin\Release\ConsoleApp.exe' $args
构建结果:
在此处检查您的路径: