`nuget restore`: NuGet разрешает неверную версию зависимости пакета - PullRequest
1 голос
/ 25 марта 2020

У меня есть две машины, моя машина разработки и сервер сборки. Для последнего nuget restore пытается вытащить неправильную версию для определенного пакета

16:15:48 Failed to retrieve information about 'Autofac' from remote source 'https://nuget.intra/api/nuget/virtual-nuget/FindPackagesById()?id='Autofac'&semVerLevel=2.0.0'.

Я проверил полное решение и нет ссылки на версию 2.0.0, а только 4.x.x. Еще более странно, что nuget restore отлично работает на моем компьютере разработчика

D:\development\data\svn\MYPROJECT
λ nuget restore
MSBuild auto-detection: using msbuild version '4.8.3761.0 built by: NET48REL1' from 'C:\Windows\Microsoft.NET\Framework\v4.0.30319'.
Restoring NuGet package Autofac.4.9.4.
...
  GET https://nuget.intra/api/nuget/virtual-nuget/Packages(Id='Autofac',Version='4.9.4')
...
  OK https://nuget.intra/api/nuget/virtual-nuget/Packages(Id='Autofac',Version='4.9.4') 31ms
...
  GET https://artifactory.intra/artifactory/api/nuget/virtual-nuget/Download/Autofac/4.9.4
...
  OK https://artifactory.intra/artifactory/api/nuget/virtual-nuget/Download/Autofac/4.9.4 95ms
...
Installing Autofac 4.9.4.
...
Adding package 'Autofac.4.9.4' to folder 'D:\development\data\svn\MYPROJECT\packages'
...
Added package 'Autofac.4.9.4' to folder 'D:\development\data\svn\MYPROJECT\packages'
....
Restoring NuGet package Autofac.4.9.0.
  GET https://nuget.intra/api/nuget/virtual-nuget/Packages(Id='Autofac',Version='4.9.0')
Adding package 'MSTest.TestFramework.1.3.2' to folder 'D:\development\data\svn\MYPROJECT\packages'
  OK https://nuget.intra/api/nuget/virtual-nuget/Packages(Id='Autofac',Version='4.9.0') 37ms
  GET https://artifactory.intra/artifactory/api/nuget/virtual-nuget/Download/Autofac/4.9.0
  OK https://artifactory.intra/artifactory/api/nuget/virtual-nuget/Download/Autofac/4.9.0 10ms
Installing Autofac 4.9.0.
...
Adding package 'Autofac.4.9.0' to folder 'D:\development\data\svn\MYPROJECT\packages'
  GET https://artifactory.intra/artifactory/api/nuget/virtual-nuget/Download/System.Security.Cryptography.Algorithms/4.3.0
...
Added package 'Autofac.4.9.0' to folder 'D:\development\data\svn\MYPROJECT\packages'
...
NuGet Config files used:
    C:\Users\papanito\AppData\Roaming\NuGet\NuGet.Config
    C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config
Feeds used:
    https://nuget.intra/api/nuget/virtual-nuget
    C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
Installed:
    18 package(s) to packages.config projects

На обоих компьютерах установлена ​​одна и та же версия nuget с choco install nuget.commandline. Я также раздаю один и тот же Nuget.Config на обе машины.

Обновление

Далее в журнале я вижу следующее

 Unable to load the service index for source https://nuget.intra/api/nuget/virtual-nuget.
07:43:45   Invalid length for a Base-64 char array or string.

Может быть из-за того, что индекс не может быть прочитан, загружается не та версия? Однако все еще не объясняет, почему на моем компьютере разработчика все работает нормально.

Обновление 2

Итак, на сервере сборки установлена ​​Visual Studio 2017. Я проверил различные другие источники и попробовал некоторые вещи, но безуспешно.

Проверены различные файлы для настроек прокси, но ни один из них не имеет ни одного, что хорошо

  • C:\Windows\syste - m32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe.config

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Похоже, что проблема связана с неправильным NuGetDefaults.config: как только для источника в этом файле определены username и password, nuget завершается ошибкой.

0 голосов
/ 26 марта 2020

Судя по коду ошибки, проблема заключается в получении этого пакета NuGet с вашего сервера сборки.

Если вы запустите Fiddler (и настроите его для расшифровки HTTPS ), что код состояния, который вы получаете, когда файл индекса извлекается с вашего частного сервера NuGet?

Ниже 200 OK при получении пакета Autofa c NuGet из nuget.org:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...