web-dev-qa-db-fra.com

La restauration de nuget échoue sur Azure Devops avec le message "Impossible de charger l'index de service pour la source"

J'ai une version pour une solution .NET qui s'exécute dans un agent privé. La solution contient à la fois des projets .NET Core 2.1 et .NET Standard 2.0. 

Certains des packages de nuget installés sont les suivants:

  • NETStandard.Library v2.0.3
  • Microsoft.AspNetCore.Mvc v2.0.0
  • Microsoft.NETCore.App v2.1.5

La construction échoue lors de la tentative de restauration des packages de nuget avec l'erreur suivante: 

"F:\Agent01\w\141\s\xxxxxxx.sln" (cible de restauration) (1) -> (Restaurer la cible) -> C:\Program Files\dotnet\sdk\2.1.500\NuGet.targets (114,5): erreur: impossible de charger l'index de service pour la source https://xxxxxxxxxx.pkgs.visualstudio.com/_package/xxxxxxxxxx /nuget/v3/index.json . C:\Program Files\dotnet\sdk\2.1.500\NuGet.targets (114,5): erreur: le code d'état de la réponse n'indique pas le succès: 401 (non autorisé).

La tâche de construction est la suivante:

 Nuget restore build task

Voici le contenu du fichier %appdata%\NuGet\nuget.config dans l'agent de génération:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="MyFeed" value="https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <MyFeed>
      <add key="Username" value="LocalBuildAgent" />
      <add key="ClearTextPassword" value="xxxxxxxxxxx" />
    </MyFeed>
  </packageSourceCredentials>
</configuration>

J'ai déjà vérifié quelques questions similaires mais jusqu'à présent, je n'ai pas pu trouver de solution à mon problème. 

Quelques notes:

  • Le jeton d'accès personnel N'EST PAS expiré
  • Cette génération particulière s'exécute avec succès dans d'autres agents de génération.
  • Il existe au moins 1 génération avec une tâche "restauration du nuget} _" exécutée avec succès avec cet agent (tâche restauration du nuget} normale, PAS .NET Core).
  • Essayé de redémarrer l'agent de génération, sans succès
  • Essayé spécifiant une version spécifique de nuget avant la restauration, sans succès
  • La dernière version du Kit de développement .NET Core dans l'agent de génération est 2.1.500 (plusieurs versions installées)

Qu'est-ce que je rate? Comment résoudre ce problème? Pourquoi ne puis-je pas restaurer les packages à l'aide de la commande dotnet restore?

METTRE À JOUR:

Les packages sont restaurés sans erreur lors de l'utilisation de la tâche ancien _ ​​restauration du Nuget comme suit: 

 Build definition

MISE À JOUR 2:

Je suis en mesure de restaurer les packages à l'aide de la tâche .NET Core v1:

 Screenshot - restore packages using the .NET Core task v1

Ou en utilisant la tâche v2 avec l'argument --force:

 Screenshot - restore packages using --force

5
Rui Jarimba

J'ai trouvé une solution - ajoutez la source de paquet suivante à %appdata%\NuGet\nuget.config:

<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />

Le fichier complet ressemble à ceci:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="MyFeed" value="https://xxxxxxxxxx.pkgs.visualstudio.com/_packaging/xxxxxxxxxx/nuget/v3/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <MyFeed>
      <add key="Username" value="LocalBuildAgent" />
      <add key="ClearTextPassword" value="xxxxxxxxxxx" />
    </MyFeed>
  </packageSourceCredentials>
</configuration>

En outre, vérifiez La régression dans le Kit de développement .NET SDK 500: "L'installation de l'outil dotnet" échoue avec 401 (non autorisé) lorsqu'un flux privé existe dans NuGet.config # 7524 . Ce problème semble être dû au .NET SDK 2.1.500.

Une autre solution consiste à désinstaller cette version:

Le problème n'est pas présent dans .NET Core SDK 2.1.400, par exemple. il s'en va lorsque le Kit de développement .NET Core SDK 2.1.500 est désinstallé et réapparaît lorsque SDK 2.1.500 est à nouveau installé.

3
Rui Jarimba

J'ai dû modifier le programme d'installation de nuget en 4.8.1 pour que cela fonctionne après avoir basculé l'URL de VSTS sur le nouvel URL de Azure Devops.

 enter image description here

0
cal5barton

Utiliser la dernière tâche "Utiliser .NET Core sdk 2.1.504" a fonctionné pour moi . Il semble y avoir des versions erronées de .NET Core sdk 2.1.5xx.

0
Andrel Vahter