若 WinForms 的專案有依些外部參考的 dll 在編譯時需要引入,數量有可能20-30個不等。 若因為並非這個專案內 Code Base所產生而不想放在 Git Repository 內,上去 Azure Devops 編譯可以這樣處理:

  1. 全部壓縮一包 .zip

  2. 上傳至「Library」 azure-pipelines-library

  3. 設定開放給 Pipeline 引用的權限 secure-file-permission

  4. 在 Pipelines 的 yaml 設定內加上 Download & Extract Download & Extract in YAML

  5. 編譯時可以加上參數指定這個暫時路徑:

    - task: VSBuild@1
        inputs:
            solution: '**\*.csproj'
            platform: 'AnyCPU'
            configuration: '$(BuildConfiguration)'
            msbuildArgs: '/p:referencepath=$(Agent.TempDirectory)/reference'
            clean: true
    

就可以完成了。