NuGet/Home
View on GitHubRestore should fail when a non-existent fallback folder is provided
Open
#7,012 opened on Jun 8, 2018
Functionality:RestorePartner:CLI-SDKPriority:3Type:Bughelp wanted
Description
MSBuild 15.7.179.6572
MSBuild of an SDK-style project with PackageReference fails because the generated .csproj.nuget.g.props file contains this line:
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\kirillo\.nuget\packages\;C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\</NuGetPackageFolders>
The NuGetPackagesFallback folder doesn't exist on my machine, causing NuGet to fail the build with the exception:
C:\Program Files\dotnet\sdk\2.1.201\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(172,5): error MSB4018: The "ResolvePackageDependencies" task failed unexpectedly.
NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\'.
at NuGet.Packaging.FallbackPackagePathResolver..ctor(String userPackageFolder, IEnumerable`1 fallbackPackageFolders)
at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(LockFile lockFile, String projectPath)
at Microsoft.NET.Build.Tasks.ResolvePackageDependencies.get_PackageResolver()
at Microsoft.NET.Build.Tasks.ResolvePackageDependencies.ResolvePackagePath(LockFileLibrary package)
at Microsoft.NET.Build.Tasks.ResolvePackageDependencies.GetPackageAndFileDefinitions()
at Microsoft.NET.Build.Tasks.ResolvePackageDependencies.ExecuteCore()
at Microsoft.NET.Build.Tasks.TaskBase.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() [C:\monodevelop\main\external\RefactoringEssentials\RefactoringEssentials\RefactoringEssentials.csproj]
None of the nuget.config files on my machine contain anything related to the fallback folder.
I don't have any environment variables set that start with NuGet*.
My VS offline package cache is a similar folder, but without the fallback:

Why does NuGet decide to generate that non-existing folder into my .g.props files?
Where does that value come from?