Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

F# interactive throws NotImplementedException in PCLStorage

I'm getting NotImplementedException trying to use PCLStorage.FileSystem.Current in F# interactive.

I downloaded PCLStorage with NuGet, right clicked on the reference and clicked "Send to F# interactive"

I'm working with VS2015 update 1, and I've re-installed the package as suggested in this answer

How can I get PCLStorage to work in F# interactive?

--> Referenced 'C:\Users\amade\Documents\GitHub\audioExperiments\src\Audio\packages\PCLStorage.1.0.2\lib\portable-net45+wp8+wpa81+win8+monoandroid+monotouch+Xamarin.iOS+Xamarin.Mac\PCLStorage.dll'

> open PCLStorage;;
> PCLStorage.FileSystem.Current;;
> System.NotImplementedException: This functionality is not implemented in the portable version of this assembly.  You should reference the PCLStorage NuGet package from your main application project in order to reference the platform-specific implementation.
   at PCLStorage.FileSystem.get_Current()
   at <StartupCode$FSI_0017>.$FSI_0017.main@()
Stopped due to error
like image 278
Amadeusz Wieczorek Avatar asked Aug 25 '26 05:08

Amadeusz Wieczorek


1 Answers

The PCL you've referenced is the one designed to target all platforms (Xamarin, Windows desktop, Windows phone etc). This dll is simply used as a means of defining all of the individual methods as part of the bait and switch PCL technique http://log.paulbetts.org/the-bait-and-switch-pcl-trick/ If you want to use the library with FSI then you'll need to add a specific reference to the appropriate platform's DLL. In this case you'll want to refer to the windows desktop version of the project which you downloaded from NuGet.

like image 193
bruinbrown Avatar answered Aug 26 '26 22:08

bruinbrown



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!