web-dev-qa-db-fra.com

Restauration automatique du package: impossible de trouver la version du package

Nous utilisons le processus amélioré Automatic Package Restore pour restaurer les packages NuGet manquants.

Lors de la construction, la boîte de dialogue de restauration apparaît au début du téléchargement à partir des sources du package, ce qui est correct:

Restore Dialog

Je peux voir que les packages sont en cours de restauration dans le dossier packages, mais il ne termine pas la restauration de tous. J'obtiens le type d'erreur suivant:

Error   10  NuGet Package restore failed for project MyProject: System.InvalidOperationException: Unable to find version '6.0.1' of package 'Newtonsoft.Json'.
   at NuGet.PackageHelper.ResolvePackage(IPackageRepository repository, String packageId, SemanticVersion version)
   at NuGet.VsEvents.PackageRestorer.RestorePackage(PackageReference package)
   at NuGet.VsEvents.PackageRestorer.RestorePackages(String packageReferenceFileFullPath, IFileSystem fileSystem)
   at NuGet.VsEvents.PackageRestorer.PackageRestore(ProjectPackageReferenceFile projectPackageReferenceFile).

Est-ce possible parce que j'ai plusieurs sources de package?

enter image description here

NuGet recherche peut-être dans notre source de package privée le 'Newtonsoft.Json', par exemple, et non dans le nuget.org la source.

Le .nuget/NuGet.config fichier:

<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="private" value="http://privatePackageSource.com/nuget" />
  </packageSources>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
</configuration>

Nous utilisons Visual Studio 2013 et NuGet 2.8.5.

MODIFIER:

En utilisant Fiddler, j'ai confirmé que NuGet recherche en effet les packages dans la source incorrecte. Il demande les packages suivants à mon référentiel privé.

J'ai également lu cet article et ajouté la section activePackageSource à la NuGet.config fichier:

<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="private" value="http://privatePackageSource.com/nuget" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
</configuration>

Mais cela ne résout pas le problème.

21
Dave New

Il était en effet remplacé par le fichier global NuGet.config (C:\Users\UserName\AppData\Roaming\NuGet\NuGet.config). Le redémarrage de Visual Studio a semblé l'effacer.

18
Dave New

Pour une raison quelconque, ma clé NuGet.config avait la clé nuget.org désactivée. J'ai vérifié les paramètres de NuGet Package Manager et tout était correct. Redémarré VS2013 et cela a fonctionné. Voici mon NuGet.config qui fonctionne:

<?xml version="1.0" encoding="utf-8"?>
 <configuration>
  <solution>
   <add key="disableSourceControlIntegration" value="true" />
  </solution>
 <packageRestore>
  <add key="enabled" value="True" />
  <add key="automatic" value="True" />
 </packageRestore>
 <packageSources>
   <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
 </packageSources>
 <disabledPackageSources />
 <activePackageSource>
   <add key="Microsoft and .NET" value="https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/" />
 </activePackageSource>
</configuration>
10
JoshYates1980

Eu la même erreur, dans mon cas, une commande de restauration de nuget avant de le construire l'a corrigé pour moi

1
Amir Shenouda