fsprojects / AzureStorageTypeProvider

An F# Azure Type Provider which can be used to explore Blob, Table and Queue Azure Storage assets and easily apply CRUD operations on them.
http://fsprojects.github.io/AzureStorageTypeProvider/
The Unlicense
84 stars 34 forks source link

Latest build doesn't work with FSAC but compile anyway #130

Open isaacabraham opened 5 years ago

isaacabraham commented 5 years ago

Tagging @cartermp and @dsyme for ideas / suggestions here - I'm totally stuck here...

  1. Earlier versions of the Azure Storage TP that were netstandard compatible used the FSharp.Compiler.Tools nuget package to "get things working" (thanks @tforkmann). I don't know exactly what it did but it got us to the point where things compiled and ran on netcore.
  2. Newer versions of F# broke with this approach though, because (as I understand it) the Compiler Tools project is coupled to a version F#.
  3. I removed the Compiler Tools project, updated to the latest ProvidedTypes files and magically everything seemed to work! Huzzah. Fake build and all tests passed.
  4. BUT when I build the nuget package and reference the published assemblies from an FSI script:
    • Intellisense fails when I try to access a member type (in this case, a member property on a static type) with an error (see below).
    • HOWEVER, if I send the same failing code to FSI, it works - everything compiles. It's just FSAC that seems to have the problem. At first I thought that the problem might be the netcore version of FSAC but VS2019 exhibits the same issue.

image

In the screenshot above, I'm trying to access the Name property on the samples container. Both member accesses fail in Ionide (but accessing the static Containers property works fine).

However, sending the exact same code to FSI works:

image

This is taken from the get-stuff-working branch.

I don't know where to go from here - I'm completely stuffed at the moment. Any ideas gratefully received.

cartermp commented 5 years ago

No idea. Does this also fail in Visual Studio?

isaacabraham commented 5 years ago

Yep, VS2019.