web-dev-qa-db-ja.com

NuGetパッケージを復元するときのTFSビルド2015中の「バージョンが見つかりません」

TFSビルド2015中にNuGetパッケージの復元に問題があります。

一部のパッケージにはNuGet 3.xクライアントが必要であるため、NuGet Command-Line 3.x betaの実行可能ファイルを配置したカスタムNuGetの場所を使用するように、新しいスクリプト可能なビルドを構成しました。

ビルドを実行するたびに、すべてのパッケージを復元できず、NuGetが"バージョンが見つかりません..."エラーをスローします。

Unable to find version '1.1.10' of package 'Microsoft.Bcl'.
Unable to find version '4.0.10' of package 'System.Threading'.
Unable to find version '1.1.37' of package 'System.Collections.Immutable'.
Unable to find version '1.0.0' of package 'Owin'.
Unable to find version '4.1.0' of package 'NLog'.
Unable to find version '7.0.1' of package 'Newtonsoft.Json'.
Unable to find version '2.0.1' of package 'MongoDB.Driver.Core'.
Unable to find version '2.0.1' of package 'MongoDB.Driver'.
Unable to find version '2.0.1' of package 'MongoDB.Bson'.
Unable to find version '3.0.1' of package 'Microsoft.Owin.Security.OAuth'.

...さらに多くのパッケージ。問題は明らかだと思います。

Visual Studioを使用してビルドマシンで同じソリューションをビルドすると、すべてのパッケージが正常に復元されます。

これをどうやって解決しますか?

17

私の場合、問題はNuGet.configC:\Users\[User name]\AppData\Roaming\NuGet\NuGet.configはビルドエージェントのWindowsサービスを実行しているユーザー)にあるユーザー全体の[User name]がNuGet API v2を指していることでした 私のビルドはすでにNuGetコマンドライン3.x を使用しています。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <!-- CHANGING V2 TO V3 IN THE URI VALUE SOLVED THE ISSUE! -->
    <add key="nuget.org" value="https://www.nuget.org/api/v3/" />
  </packageSources>
</configuration> 
22

私の場合、Nuget.Configは次の場所にありました。

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet

Nuget.ConfigC:\を検索してください。

ユーザーは、Agentを構成したアカウントに依存します

3
willianleite

何らかの理由でローミングフォルダーのNuGet.configの更新がオプションまたは不要でない場合、構成ファイルをソリューションルートに追加することもできます。

ドキュメントによると:

  • ソリューションフォルダーからドライブルートまでの任意のフォルダーにあるプロジェクト固有のNuGet.Configファイル。これらにより、プロジェクトまたはプロジェクトのグループに適用される設定を制御できます。
  • ソリューションの.nugetフォルダー内にあるソリューション固有のNuGet.Configファイル。このファイルの設定は、ソリューション全体のパッケージにのみ適用され、NuGet 3.3以前でのみサポートされます。 NuGet 3.4以降では無視されます。

構成ファイルの場所と用途

1
Emiel Koning