fsprojects / fsprojects/Paket

Cannot download packages if run on a mounted (P:\,S:\..) networkdrive

Open
#3,022 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Description

Paket cannot download folders if paket runs from a networkdrive.
Like P:\ mounted against a UNC location \\corpshare\users\jeserpsh\

Repro steps
  1. Download https://github.com/ButchersBoy/MaterialDesignInXamlToolkit/archive/v2.3.1.zip and save to a network drive.

  2. Optional: Right click the saved zip file and Unblock downloaded file protection

  3. Extract the zip

  4. cmd navigate into the solution folder

  5. run .paket\paket restore

Expected behavior

P:\visual studio\Samples\MaterialDesignInXamlToolkit-2.3.1> .paket\paket restore
Paket version 4.0.6
Downloading xunit.abstractions 2.0
Downloading xunit.core 2.1
Downloading MahApps.Metro 1.4.3
Downloading Castle.Core 4.0
Downloading Dragablz 0.0.3.165
Downloading Moq 4.7.1
Downloading xunit.assert 2.1
Downloading xunit 2.1
Downloading NSubstitute 1.10
Downloading RhinoMocks 3.6.1
Downloading xunit.extensibility.core 2.1
Downloading Shouldly 2.8
Downloading xunit.extensibility.execution 2.1
11 seconds - ready.

Actual behavior

P:\visual studio\Samples\MaterialDesignInXamlToolkit-2.3.1>.paket\paket restore
Paket version 4.0.6
Downloading MahApps.Metro 1.4.3
Downloading xunit.extensibility.core 2.1
Downloading xunit.core 2.1
Downloading xunit.abstractions 2.0
Downloading xunit.assert 2.1
Downloading RhinoMocks 3.6.1
Downloading Moq 4.7.1
Downloading Shouldly 2.8
Downloading Dragablz 0.0.3.165
Downloading Castle.Core 4.0
Downloading xunit 2.1
Downloading NSubstitute 1.10
Downloading xunit.extensibility.execution 2.1
Something went wrong while downloading Moq 4.7.1
Message: Could not download Moq 4.7.1.
Couldn't get package details for package Moq 4.7.1 on https://www.nuget.org/api/v2.
==> Trying again
Downloading Moq 4.7.1
Something went wrong while downloading Shouldly 2.8
Message: Could not download Shouldly 2.8.
Couldn't get package details for package Shouldly 2.8 on https://www.nuget.org/api/v2.
==> Trying again
Downloading Shouldly 2.8
... snipp all packages failing to download in random order ...
Paket failed with:
Could not download Moq 4.7.1.
Couldn't get package details for package Moq 4.7.1 on https://www.nuget.org/api/v2.

With verbose is this visible:

Error while retrieving 'https://www.nuget.org/api/v2/Packages(Id='xunit.abstractions',Version='2.0')': System.Net.Sockets.SocketException (0x80004005): Der blev angivet et ugyldigt argument
   ved System.Net.SafeCloseSocketAndEvent.CreateWSASocketWithEvent(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType, Boolean autoReset, Boolean signaled)
   ved System.Net.NetworkAddressChangePolled..ctor()
   ved System.Net.AutoWebProxyScriptEngine.AutoDetector.Initialize()
   ved System.Net.AutoWebProxyScriptEngine.AutoDetector.get_CurrentAutoDetector()
   ved System.Net.AutoWebProxyScriptEngine..ctor(WebProxy proxy, Boolean useRegistry)
   ved System.Net.WebProxy.UnsafeUpdateFromRegistry()
   ved System.Net.WebRequest.InternalGetSystemWebProxy()
   ved System.Net.WebRequest.GetSystemWebProxy()
   ved Paket.Utils.getDefault@401(Uri uri, Unit unitVar0)
   ved System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
   ved Paket.Utils.createWebClient(String url, FSharpOption`1 auth)
   ved Paket.Utils.safeGetFromUrl@637-1.Invoke(Unit unitVar)
   ved Microsoft.FSharp.Control.AsyncBuilderImpl.callA@851.Invoke(AsyncParams`1 args)

Replace xunit.abstractions with any random package

Known workarounds

Place project on C:, run paket restore and move project back to P:\

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the restore failure from a project on a mapped network drive, using the verbose socket error as confirmation. Start with Paket.Utils.getDefault, createWebClient, and safeGetFromUrl, which appear in the reported stack trace. Done means paket restore can download the listed NuGet packages from the mapped drive without requiring the project to move to C:.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.