我正在研究Azure DevOps构建管道。我有一个Server.sln,其中有学生2个C#项目,例如Error.csproj
和Log.csproj
。
我的文件夹结构如下
Code (folder)
Error (folder)
Error.csproj
Log (folder)
Log.csproj
Server.sln
Staging (folder)
Error (folder)
Log (folder)
我有Azure Pipeline,它在调试模式下具有生成任务,该任务会生成Error.dll in Error\bin\debug folder
和Log.dll into Log\bin\debug folder
。
之后,我要复制 Error.dll from Error\bin\debug into Staging\Error
和Log.dll from Log\bin\debug folder into Staging\Log
。
为此,我正在使用 2个复制文件任务。
一个复制Error.dll,另一个复制Log.dll。
是否可以将这两个复制任务合并为一个?
谢谢。
答案 0 :(得分:0)
根据您的文件夹结构,您可以通过这种方式(在YAML中)从2个路径中复制2个文件:
- task: CopyFiles@2
displayName: 'Copy Error and Log dll's'
inputs:
SourcesFolder: '$(Build.SourcesDirectory)'
Contents: |
Code/Error/bin/Debug/Error.dll
Code/Log/bin/Debug/Log.dll
TargetFolder: '$(Build.ArtifactsStagingDirectory)' # Or different folder
但是您只能复制到一个目标,并且在目标文件夹中将具有“目录”中指定的所有文件夹:
- c:/agnet/_work/a/Code
- Error/bin/Debug/Error.dll
- Log/bin/Debug/Log.dll
如果要复制到2个文件夹(如果发生错误,请登录)或仅复制dll(不包含它们的文件夹),则必须使用2个复制任务,或者可以使用PowerShell脚本进行复制然后您只能使用1个任务。