2

VSTS上にパッケージフィードがあり、VSTS上に構築されているソリューションで参照するいくつかのパッケージを提供しています。パッケージの復元フェーズでビルドが突発的に開始し、ログでnugetがリストアされるはずのDLLが見つからないことが示されます。VSTS Nugetインストーラがパッケージフィードで認証に失敗する

NuGetパッケージの復元Basd.Diagnostics.0.7.0。

警告:パッケージ 'Basd.Diagnostics'のバージョン '0.7.0'を見つけることができません。

プライベート/パブリック・フィードは私のnuget.configに記載されていますし、彼らはまた、それが復元操作は、パッケージの実際のフィードを見つけることができないの問題ではありませんビルドログ"Using Feeds..."に表示されます。それは認証できないので、フィードからパッケージを取得できないようです。

私はビルド定義の履歴を見れば、それは最後の今に働いて、それが、このときから変更があった:

"build": [ 
    { 
     "enabled": true, 
     "continueOnError": false, 
     "alwaysRun": false, 
     "displayName": "NuGet restore MySol.sln", 
     "timeoutInMinutes": 0, 
     "task": { 
     "id": "333b11bd-d341-40d9-afcf-b32d5ce6f23b", 
     "versionSpec": "*", 
     "definitionType": "task" 
     }, 
     "inputs": { 
     "solution": "Basd.Core.sln", 
     "nugetConfigPath": "nuget.config", 
     "restoreMode": "restore", 
     "noCache": "false", 
     "nuGetRestoreArgs": "", 
     "verbosity": "", 
     "nuGetPath": "", 
     "preCredProviderNuGet": "false" 
     } 
    }, 

"preCredProviderNuGet": "false"フィールドが定義になりましたが。私はグーグルだが、どのように設定されているのかわからないが、私はこれが私のフィードの認証を妨げていると仮定しているので、リストア操作が失敗する。

この設定はどこにありますか、またどのように元に戻すか、エントリとして削除するにはどうすればよいですか?作業ビルドのdefでは、それはtrueに設定されていませんでした、それは存在しませんでした。

VSTS UI関連のフィールドですか、それともnuget.configファイルで設定したものですか?私は前者を仮定しています。なぜなら、diffを実行すると、作業用と非作業用のビルドの間で、nuget.configに何も変わっていないことが示唆されるからです。

+0

https://www.bountysource.com/issues/36464119-nuget-installer-restore-fails-to-pull-down-unlisted-packages-from-vsts-package-management – rism

答えて

1

これは今では修正されるはずVSTSの問題によって引き起こされているように見える、ビルドエージェントを試してみてください。

問題:Packaging issues with Visual Studio Team Services – 7/30 – Resolved

+0

残念ながら、これは私の問題を解決するものではありませんが、私の最後には何も変わらず、タイミングも偶然です。これはクラウドの問題です。制御が不足していて、それが壊れたときに誰もが壊れます。バグが感染になります。リンクをありがとう - 健全性チェックの何か。 – rism

+0

@rism MSはこれに関する新しい問題を調査しています。https://blogs.msdn.microsoft.com/vsoservice/?p=12025 –

+0

2番目の修正プログラムが機能しました。リンクありがとう。 – rism

0

「preCredProviderNuGet」の設定は、あなたの問題に関連していません。 NuGetは、タスクを復元し、「NuGet.exeへの道」を追加高度な設定があり、対応するチェックボックス「NuGet.exeへのパスは、バージョン3.2を下回っています」。これらの設定は、ビルドjsonのnuGetPathおよびpreCredProviderNuGetの設定に対応します。使用において、preCredProviderNuGetのみnuGetPathも設定されている場合に影響を及ぼし、そしてプラグイン資格プロバイダがV3の前にサポートされていないので、使用中のNuGetのバージョンが資格プロバイダを使用することができなくなり、タスクへの信号です。 2

1つの提案は、「詳細」には、このタスクの冗長性を設定して、ビルドを再実行することです。これは、NuGet Restore task \ Advanced \ Verbosityにあります。

+0

返信いただきありがとうございますが、この設定が重要だと私に導く詳細なログです。この設定が存在しないときに動作したビルドでは、 'xyzFeedの設定資格証明 'がログに記録されます。 'preCredProviderNuGet'が存在するところで失敗したビルドでは、そのためのエントリはありません。資格情報を設定しないと、パッケージが接続されていないことがわかります。この設定では、資格情報を設定するステップがオフになっています。どちらのビルドもナゲットパスもバージョン3.2もチェックされていないので、この設定はまったく同じように動作していると思います。 – rism

関連する問題