Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NuGet 4.9 seems to ignore fallback folders when restoring #7628

Closed
mrward opened this issue Dec 12, 2018 · 2 comments
Closed

NuGet 4.9 seems to ignore fallback folders when restoring #7628

mrward opened this issue Dec 12, 2018 · 2 comments

Comments

@mrward
Copy link
Member

mrward commented Dec 12, 2018

Details about Problem

NuGet product used (NuGet.exe):

NuGet version (4.9.1 and 4.9.2):

dotnet.exe --version: 2.1.302

VS version: N/A

OS version: macOS 10.13.6

Mono: 5.18.0.209 (2018-08/7b9d9b3f1ba Tue Nov 20 07:04:23 EST 2018)

MSBuild: 16.0.40-preview+g105cb8a157 for Mono

Worked before? If so, with which NuGet version: 4.8.1

Detailed repro steps so we can see the same problem

It seems that NuGet 4.9 does not consider the fallback folders defined by the .NET Core sdk. This results in NuGet going online and downloading .nupkgs. NuGet 4.8.1 and nuget 4.7 which ships with Mono 5.18 currently do not do this. This is also affecting Visual Studio for Mac when it is using NuGet 4.9.

nuget.exe taken from nuget.org/downloads

Repro steps:

~/.config/NuGet/NuGet.Config has main nuget.org source enabled but no fallback folders.
Open a terminal window.
mkdir dotnet
cd dotnet
nuget locals all -clear
dotnet new console
ls ~/.nuget/packages
Folder does not exist.
nuget locals all -clear
mono path/to/nuget.exe restore dotnet.csproj

Output from NuGet 4.9.2 and 4.9.1:

MSBuild auto-detection: using msbuild version '15.0' from '/Library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/msbuild/15.0/bin'.
Restoring packages for /Users/matt/Projects/dotnet/dotnet.csproj...
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/index.json 422ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/2.1.0/microsoft.netcore.app.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/2.1.0/microsoft.netcore.app.2.1.0.nupkg 42ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/index.json
  GET https://api.nuget.org/v3-flatcontainer/netstandard.library/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/index.json 138ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/2.1.0/microsoft.netcore.dotnethostpolicy.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/index.json 285ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.1.0/microsoft.netcore.platforms.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/index.json 427ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/2.1.0/microsoft.netcore.targets.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/netstandard.library/index.json 584ms
  GET https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/2.1.0/microsoft.netcore.dotnethostpolicy.2.1.0.nupkg 486ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.1.0/microsoft.netcore.platforms.2.1.0.nupkg 448ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/2.1.0/microsoft.netcore.targets.2.1.0.nupkg 424ms
  OK https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg 372ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json 9600ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/2.1.0/microsoft.netcore.dotnethostresolver.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/2.1.0/microsoft.netcore.dotnethostresolver.2.1.0.nupkg 44ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/index.json 138ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.1.0/microsoft.netcore.dotnetapphost.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.1.0/microsoft.netcore.dotnetapphost.2.1.0.nupkg 43ms
Installing Microsoft.NETCore.DotNetAppHost 2.1.0.
Installing Microsoft.NETCore.DotNetHostResolver 2.1.0.
Installing Microsoft.NETCore.DotNetHostPolicy 2.1.0.
Installing NETStandard.Library 2.0.3.
Installing Microsoft.NETCore.Targets 2.1.0.
Installing Microsoft.NETCore.Platforms 2.1.0.
Installing Microsoft.NETCore.App 2.1.0.
Committing restore...
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.props.
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.targets.
Writing lock file to disk. Path: /Users/matt/Projects/dotnet/obj/project.assets.json
Restore completed in 41.64 sec for /Users/matt/Projects/dotnet/dotnet.csproj.

NuGet Config files used:
    /Users/matt/.config/NuGet/NuGet.Config

Feeds used:
    https://api.nuget.org/v3/index.json

Installed:
    7 package(s) to /Users/matt/Projects/dotnet/dotnet.csproj

ls ~/.nuget/packages
Returns several folders.

Doing the same thing with NuGet 4.8.1 or nuget 4.7 that ships with Mono 5.18.

rm -rf obj/
nuget locals all -clear

MSBuild auto-detection: using msbuild version '15.0' from '/Library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/msbuild/15.0/bin'.
Restoring packages for /Users/matt/Projects/dotnet/dotnet.csproj...
Committing restore...
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.props.
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.targets.
Writing lock file to disk. Path: /Users/matt/Projects/dotnet/obj/project.assets.json
Restore completed in 266.47 ms for /Users/matt/Projects/dotnet/dotnet.csproj.

NuGet Config files used:
    /Users/matt/.config/NuGet/NuGet.Config

Feeds used:
    https://api.nuget.org/v3/index.json

ls ~/.nuget/packages
No directory.

Other suggested things

Verbose Logs

mono nuget-4.9.2.exe restore dotnet.csproj -verbosity detailed
NuGet Version: 4.9.2.5706
MSBuild P2P timeout [ms]: 120000
MSBuild auto-detection: using msbuild version '15.0' from '/Library/Frameworks/Mono.framework/Versions/5.18.0/lib/mono/msbuild/15.0/bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.
/Library/Frameworks/Mono.framework/Versions/Current/Commands/msbuild "/var/folders/wp/wg44w5kd3911dm9t8g3fdwgc0000gn/T/NuGetScratch/zebb188p.uc6.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="/var/folders/wp/wg44w5kd3911dm9t8g3fdwgc0000gn/T/NuGetScratch/fgadedvb.bif.nugetrestore.targets" /p:RestoreUseCustomAfterTargets="True" /p:RestoreTaskAssemblyFile="/Volumes/SeagateMac/downloads/nuget-4.9.2.exe" /p:RestoreBuildInParallel="False" /p:RestoreUseSkipNonexistentTargets="False"

Running non-parallel restore.
Reading project file /Users/matt/Projects/dotnet/dotnet.csproj.
Restoring packages for /Users/matt/Projects/dotnet/dotnet.csproj...
Restoring packages for .NETCoreApp,Version=v2.1...
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/index.json 142ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/2.1.0/microsoft.netcore.app.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app/2.1.0/microsoft.netcore.app.2.1.0.nupkg 43ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/index.json
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/index.json
  GET https://api.nuget.org/v3-flatcontainer/netstandard.library/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/index.json 139ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/2.1.0/microsoft.netcore.dotnethostpolicy.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/index.json 280ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.1.0/microsoft.netcore.platforms.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/index.json 423ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/2.1.0/microsoft.netcore.targets.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/netstandard.library/index.json 567ms
  GET https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostpolicy/2.1.0/microsoft.netcore.dotnethostpolicy.2.1.0.nupkg 469ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/2.1.0/microsoft.netcore.platforms.2.1.0.nupkg 896ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.targets/2.1.0/microsoft.netcore.targets.2.1.0.nupkg 824ms
  OK https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg 790ms
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/index.json 8486ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/2.1.0/microsoft.netcore.dotnethostresolver.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnethostresolver/2.1.0/microsoft.netcore.dotnethostresolver.2.1.0.nupkg 46ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/index.json
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/index.json 475ms
  GET https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.1.0/microsoft.netcore.dotnetapphost.2.1.0.nupkg
  OK https://api.nuget.org/v3-flatcontainer/microsoft.netcore.dotnetapphost/2.1.0/microsoft.netcore.dotnetapphost.2.1.0.nupkg 44ms
Resolving conflicts for .NETCoreApp,Version=v2.1...
Acquiring lock for the installation of Microsoft.NETCore.DotNetAppHost 2.1.0
Acquired lock for the installation of Microsoft.NETCore.DotNetAppHost 2.1.0
Installing Microsoft.NETCore.DotNetAppHost 2.1.0.
Acquiring lock for the installation of Microsoft.NETCore.DotNetHostResolver 2.1.0
Acquired lock for the installation of Microsoft.NETCore.DotNetHostResolver 2.1.0
Installing Microsoft.NETCore.DotNetHostResolver 2.1.0.
Acquiring lock for the installation of Microsoft.NETCore.DotNetHostPolicy 2.1.0
Acquired lock for the installation of Microsoft.NETCore.DotNetHostPolicy 2.1.0
Installing Microsoft.NETCore.DotNetHostPolicy 2.1.0.
Acquiring lock for the installation of NETStandard.Library 2.0.3
Acquired lock for the installation of NETStandard.Library 2.0.3
Installing NETStandard.Library 2.0.3.
Acquiring lock for the installation of Microsoft.NETCore.Targets 2.1.0
Acquired lock for the installation of Microsoft.NETCore.Targets 2.1.0
Installing Microsoft.NETCore.Targets 2.1.0.
Acquiring lock for the installation of Microsoft.NETCore.Platforms 2.1.0
Acquired lock for the installation of Microsoft.NETCore.Platforms 2.1.0
Installing Microsoft.NETCore.Platforms 2.1.0.
Acquiring lock for the installation of Microsoft.NETCore.App 2.1.0
Acquired lock for the installation of Microsoft.NETCore.App 2.1.0
Installing Microsoft.NETCore.App 2.1.0.
Completed installation of Microsoft.NETCore.DotNetAppHost 2.1.0
Completed installation of Microsoft.NETCore.DotNetHostResolver 2.1.0
Completed installation of Microsoft.NETCore.Targets 2.1.0
Completed installation of Microsoft.NETCore.Platforms 2.1.0
Completed installation of Microsoft.NETCore.DotNetHostPolicy 2.1.0
Completed installation of NETStandard.Library 2.0.3
Completed installation of Microsoft.NETCore.App 2.1.0
Checking compatibility of packages on .NETCoreApp,Version=v2.1.
Checking compatibility for dotnet 1.0.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.App 2.1.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.Platforms 2.1.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.Targets 2.1.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for NETStandard.Library 2.0.3 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.DotNetHostPolicy 2.1.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.DotNetHostResolver 2.1.0 with .NETCoreApp,Version=v2.1.
Checking compatibility for Microsoft.NETCore.DotNetAppHost 2.1.0 with .NETCoreApp,Version=v2.1.
All packages and projects are compatible with .NETCoreApp,Version=v2.1.
Committing restore...
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.props.
Generating MSBuild file /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.g.targets.
Writing lock file to disk. Path: /Users/matt/Projects/dotnet/obj/project.assets.json
Writing cache file to disk. Path: /Users/matt/Projects/dotnet/obj/dotnet.csproj.nuget.cache
Restore completed in 21.32 sec for /Users/matt/Projects/dotnet/dotnet.csproj.

NuGet Config files used:
    /Users/matt/.config/NuGet/NuGet.Config

Feeds used:
    https://api.nuget.org/v3/index.json

Installed:
    7 package(s) to /Users/matt/Projects/dotnet/dotnet.csproj

Sample Project

N/A

@jainaashish
Copy link
Contributor

There has been a change with nuget 4.9 with dotnet 2.1.5xx and 2.2.1xx so in order to use nuget 4.9 you'd also need to update the dotnet version on your machine. Check your current dotnet version on the disk and upgrade it to the latest or at least above mentioned versions.

But I'll a workitem to update our release notes for nuget 4.9.2 to mention this.

@mrward
Copy link
Member Author

mrward commented Dec 14, 2018

Thanks. After installing .NET Core 2.1.502 both nuget.exe (4.9.2) and VS Mac using NuGet 4.9 work as expected.

@nkolev92 nkolev92 closed this as completed Jun 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants