J'ai des problèmes avec la restauration du paquet NuGet lors d'une TFS Build 2015.
Certains packages nécessitant un client NuGet 3.x, j'ai configuré la nouvelle version scriptable pour utiliser un emplacement NuGet personnalisé où j'ai placé l'exécutable de NuGet Command-Line 3.x beta .
Chaque fois que j'exécute une construction, tous les packages ne peuvent pas être restaurés et NuGet affiche le "Impossible de trouver la version ..." error:
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'.
... et encore plus de forfaits. Je crois que le problème est clair.
Lorsque je crée la même solution sur la machine de génération à l'aide de Visual Studio, tous les packages sont restaurés avec succès.
Comment résoudre ce problème?
Dans mon cas, le problème était que NuGet.config
situé à C:\Users\[User name]\AppData\Roaming\NuGet\NuGet.config
(où [User name]
correspond à l'utilisateur qui exécute le service Windows de l'agent de génération), point à l'échelle de l'utilisateur, pointait vers l'API NuGet v2 alors que ma version utilisait déjà NuGet Command-Line 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>
Dans mon cas, le Nuget.Config
était dans:
C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet
Donc, recherchez Nuget.Config
dans votre C:\
.
L'utilisateur dépend du compte que vous avez configuré le Agent
Si pour une raison quelconque, la mise à jour du NuGet.config
dans le dossier Roaming n'est pas une option ou si vous le souhaitez, vous pouvez également ajouter le fichier de configuration à la racine de la solution.
Selon les docs: