我正在尝试创建一个Azure DevOps管道,该管道使用多种配置创建多个C#二进制文件。
执行此操作的推荐方法是使用多个“作业”,而不是多个步骤。具体来说,我使用矩阵来指定Debug | AnyCPU,Release | AnyCPU,Custom | AnyCPU。
这将使一切正常构建。问题在于每个“ Job”都会清除bin目录,因此在该过程结束时,我的bin目录中只有一个程序集。
我在那里需要所有图书馆。目标是创建一个包含所有程序集的NuGet程序包。我已经考虑过使用Azure DevOps StagingArtifacts目录。我只是想避免在开发机上进行构建与在构建机上进行构建之间有太多差异。
我为每种配置指定了单独的输出路径。在开发机器上,我可以批量构建所有内容,并且所有内容都显示在bin目录中。
strategy:
matrix:
debug-job:
buildConfiguration: 'Debug'
release-job:
buildConfiguration: 'Release'
custom-job:
buildConfiguration: 'Custom'
<OutputPath Condition=" '$(OutputPath)' == '' ">bin\$(Configuration)\$(TargetFrameworkVersion)\</OutputPath>