VSTS でビルドされているソリューションで参照するいくつかのパッケージを提供する VSTS のパッケージ フィードがあります。パッケージの復元フェーズでビルドが突然失敗し始め、復元するはずの dlls 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"
定義にフィールドが追加されました。 私はグーグルで検索しましたが、これがどこでどのように設定されているかわかりませんが、これが私のフィードへの認証を妨げていると想定しているため、復元操作が失敗します。
では、この設定はどこにありますか、また、それを元に戻すか、エントリとして削除するにはどうすればよいですか? 作業中のビルド定義では、true に設定されていませんでした。単に存在しませんでした。
VSTS UI 関連のフィールドですか、それとも nuget.config ファイルで設定したものですか? 私は前者を想定しています。なぜなら、再び差分を実行すると、機能しているビルドと機能していないビルドの間で nuget.config に何も変更がないことが示唆されるからです。