0

現在、Azure パイプラインで YAML パイプラインに取り組んでおり、問題が発生しました。私はすでに回避策を持っています。ただし、誰かがこれに遭遇し、適切に解決したかどうか興味がありました。これが問題です。

複数のソリューションを含むプロジェクトがあります。一部のソリューションは package.config を使用しており、他のソリューションは PackageReference を使用しています。以下のタスクを使用して、プロジェクト内のソリューションで nuget 復元を実行するまで、これは大したことではありませんでした。

- task: NuGetToolInstaller@1
  displayName: 'Detect\Install NuGet'
- task: NuGetCommand@2
  displayName: 'Restore NuGet Packages'
  inputs:
    restoreSolution: '**\*.sln'
    feedsToUse: 'config'
    command: 'restore'

上記のタスクは、既存の NuGet インストールを正常に検出します。そうでない場合は、NuGet の最新バージョンをインストールします。次に、PackageReference を使用してすべてのパッケージの nuget 復元を実行します。これがこすりの出番です。package.config を使用しているソリューションは、デフォルトで PackageReference ソリューションになるため、このタスクではスキップされます。この問題を回避するために、リポジトリ内のローカル nuget.config ファイルを指す追加の NuGet コマンド タスクを追加しました。

注: 最初のタスクは、パイプライン エージェントで構成されたシステムの既定の nuget.config ファイルを利用します。

- task: NuGetCommand@2
  displayName: 'Restore NuGet Packages for package.config'
  inputs:
    restoreSolution: '**\*.sln'
    feedsToUse: 'config'
    nugetConfigPath: 'nuget.config'

これはビルドに多くの時間を追加するわけではありませんが、単一のタスクを利用するのがよいため、理想的ではありません。どんな助けでも大歓迎です。

ありがとう、ソースコード

4

0 に答える 0