在使用 MSBuild 进行本地测试期间调用 Powershell 脚本

问题描述 投票:0回答:1

我正在尝试调用powershell脚本进行本地测试

<Target Name="RunPowerShellScript" BeforeTargets="Build" Condition="'$(LocalBuild)' == 'true'">
<Exec LogStandardErrorAsError="true" WorkingDirectory="$(EnlistmentRoot)" Command="pwsh -ExecutionPolicy Bypass -File  &quot;$(EnlistmentRoot)\src\helloworld.ps1&quot;" />
    </Target>

当前设置未按预期运行。如果我消除 $(LocalBuild),它就会正常运行。然而,它也在 ADO 管道中被调用,我不喜欢在那里有它。

我已在 props 文件中将 LocalBuild 设置为 false,并在 build.target 下的构建文件中合并了一个目标。

$(LocalBuild)' == 'true'

azure azure-devops msbuild ado msbuild-task
1个回答
0
投票

我想在本地构建项目时运行此脚本,而不是在 azure devops 管道中。我想跳过那里。

根据您的要求,您可以在使用 Azure DevOps Pipeline 时添加 msbuild 参数:

/p:LocalBuild=false

例如:

steps:
- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    msbuildArgs: ' /p:LocalBuild=false'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

在这种情况下,您不需要更改 props 文件中的 LocalBuild Value。 RunPowerShellScript 目标将在 Azure DevOps Pipeline 中跳过。

msbuild 争论将覆盖 props 文件中的值。

© www.soinside.com 2019 - 2024. All rights reserved.