我正在尝试调用powershell脚本进行本地测试
<Target Name="RunPowerShellScript" BeforeTargets="Build" Condition="'$(LocalBuild)' == 'true'">
<Exec LogStandardErrorAsError="true" WorkingDirectory="$(EnlistmentRoot)" Command="pwsh -ExecutionPolicy Bypass -File "$(EnlistmentRoot)\src\helloworld.ps1"" />
</Target>
当前设置未按预期运行。如果我消除 $(LocalBuild),它就会正常运行。然而,它也在 ADO 管道中被调用,我不喜欢在那里有它。
我已在 props 文件中将 LocalBuild 设置为 false,并在 build.target 下的构建文件中合并了一个目标。
$(LocalBuild)' == 'true'
我想在本地构建项目时运行此脚本,而不是在 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 文件中的值。