Hello,
After migration to NuGet 2.7 our packages are no longer restored properly.
The NuGet ver 2.6.40619.9041 was working fine.
The problem is that our packages' version number contains 0 followed by digits (like 049), and with new nuget version this 0 is stripped, which ends with package not being found.
Steps to recreate:
Run "nuget.exe install -nocache" command and point to packages.config having project with version like 3.56.049-nsb3
Expected result is to have all packages installed in local packages folder.
Example command:
.nuget\NuGet.exe install "[solution_path][project]\packages.config" -source "[source_list]" -RequireConsent -solutionDir "[solution_path]\ " -verbosity detailed -nocache
Result from NuGet.exe 2.7.40906.75:
GET http://[source_host]/api/v2/Packages(Id='[project_id]',Version='3.56.49-nsb3')
GET http://[source_host]/api/v2/Packages(Id='[project_id]',Version='3.56.49.0-nsb3')
System.InvalidOperationException: Unable to find version '3.56.049-nsb3' of package '[project_id]'.
at NuGet.PackageHelper.ResolvePackage(IPackageRepository repository, String packageId, SemanticVersion version)
at NuGet.Commands.InstallCommand.RestorePackage(IFileSystem fileSystem, String packageId, SemanticVersion version, Boolean packageRestoreConsent, List`1 satellitePackages)
at NuGet.Commands.InstallCommand.<>c__DisplayClass5.<>c__DisplayClass7.<ExecuteInParallel>b__2()
at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
Result from NuGet.exe 2.6.40619.9041:
GET http://[source_host]/api/v2/FindPackagesById()?id='[project_id]'
GET http://[source_host]/api/v2/FindPackagesById?id='[project_id]'&$skiptoken='[project_id]','3.56.038-nsb3'
GET http://[source_host]/api/v2/package/[project_id]/3.56.049-nsb3
Installing '[project_id] 3.56.049-nsb3'.
Successfully installed '[project_id] 3.56.049-nsb3'.
Comments: Dupe of https://nuget.codeplex.com/workitem/3628
After migration to NuGet 2.7 our packages are no longer restored properly.
The NuGet ver 2.6.40619.9041 was working fine.
The problem is that our packages' version number contains 0 followed by digits (like 049), and with new nuget version this 0 is stripped, which ends with package not being found.
Steps to recreate:
Run "nuget.exe install -nocache" command and point to packages.config having project with version like 3.56.049-nsb3
Expected result is to have all packages installed in local packages folder.
Example command:
.nuget\NuGet.exe install "[solution_path][project]\packages.config" -source "[source_list]" -RequireConsent -solutionDir "[solution_path]\ " -verbosity detailed -nocache
Result from NuGet.exe 2.7.40906.75:
GET http://[source_host]/api/v2/Packages(Id='[project_id]',Version='3.56.49-nsb3')
GET http://[source_host]/api/v2/Packages(Id='[project_id]',Version='3.56.49.0-nsb3')
System.InvalidOperationException: Unable to find version '3.56.049-nsb3' of package '[project_id]'.
at NuGet.PackageHelper.ResolvePackage(IPackageRepository repository, String packageId, SemanticVersion version)
at NuGet.Commands.InstallCommand.RestorePackage(IFileSystem fileSystem, String packageId, SemanticVersion version, Boolean packageRestoreConsent, List`1 satellitePackages)
at NuGet.Commands.InstallCommand.<>c__DisplayClass5.<>c__DisplayClass7.<ExecuteInParallel>b__2()
at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
Result from NuGet.exe 2.6.40619.9041:
GET http://[source_host]/api/v2/FindPackagesById()?id='[project_id]'
GET http://[source_host]/api/v2/FindPackagesById?id='[project_id]'&$skiptoken='[project_id]','3.56.038-nsb3'
GET http://[source_host]/api/v2/package/[project_id]/3.56.049-nsb3
Installing '[project_id] 3.56.049-nsb3'.
Successfully installed '[project_id] 3.56.049-nsb3'.
Comments: Dupe of https://nuget.codeplex.com/workitem/3628