Мы используем улучшенный процесс Automatic Package Restore для восстановления отсутствующих пакетов NuGet.
При построении открывается диалоговое окно "Восстановление", когда оно начинает загружаться из источников пакета, что является правильным:
Я вижу, что пакеты восстанавливаются в папке пакетов, но не завершают их восстановление. Я получаю следующие ошибки:
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).
Может ли это быть потому, что у меня есть несколько источников пакетов?
NuGet может искать в нашем частном исходном пакете для "Newtonsoft.Json", например, а не в источнике nuget.org
.
Файл .nuget/NuGet.config
:
<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>
Мы используем Visual Studio 2013 и NuGet 2.8.5.
EDIT:
Используя Fiddler, я подтвердил, что NuGet действительно ищет пакеты в неправильном источнике. Он запрашивает следующие пакеты из моего личного репозитория.
Я также прочитал этот пост и добавил раздел activePackageSource
в файл NuGet.config
:
<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>
Но проблема не устраняется.