FSharp.Data in LINQPad 7
Hello,
Trying to use FSharp.Data NuGet package in LINQPad 7 fails. The same script works in LINQPad 6. Neither changing the .NET version nor adding FSharp.Core (any version) from NuGet fix the issue.
This is all the code necessary to reproduce:
<Query Kind="FSharpProgram"> <NuGetReference>FSharp.Data</NuGetReference> </Query> open FSharp.Data
The error I get is:
The type provider 'C:\Users\[UserName]\.nuget\packages\FSharp.Data\4.2.5\lib\netstandard2.0\FSharp.Data.dll' reported an error: The type provider designer assembly 'FSharp.Data.DesignTime' could not be loaded from folder 'C:\Users\[UserName]\.nuget\packages\FSharp.Data\4.2.5\typeproviders\fsharp41\netstandard2.0'. The exception reported was: System.IO.FileNotFoundException - Could not load file or assembly 'FSharp.Core, Version=4.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
Thanks in advance for any help.
Comments
This appears to be a bug in the F# compiler: it loads the design-time assembly into the default ALC instead of the referenced assembly's ALC, which eventually results in two copies of FSharp.Core being loaded. The chance of this getting fixed in a timely fashion is low, so I'll look at moving LINQPad's host assemblies back to the default ALC as a workaround. All going well, this will be in the next LINQPad beta - within a week or so.
Thank you very much. I really appreciate all the work you've done with F#, especially in the last couple versions.
I can confirm it's fixed in the beta, thanks again.