fsprojects / IfSharp

F# for Jupyter Notebooks
Other
442 stars 71 forks source link

Update to .net471 for .net standard support #181

Closed cgravill closed 6 years ago

cgravill commented 6 years ago

Description

Some nuget packages aren't being fully referenced such as https://www.nuget.org/packages/Microsoft.ML/

I suspect this is because of the current .net461 target. Can we upgrade to provide wider support?

See https://github.com/Microsoft/AzureNotebooks/issues/409#issuecomment-401530030

cgravill commented 6 years ago

I have a version mostly working on the branch net471. It needs more testing and some of the helper scripts need to be made framework version-insensitive.

When I actually reference a .netstandard2.0 NuGet it partially works but you need to manually add the reference to .net standard e.g.

#load "Paket.fsx"

Paket.Package [ 
    "Microsoft.ML"
    "NETStandard.Library"]

#r "packages/NETStandard.Library/build/netstandard2.0/ref/netstandard"
#load "Paket.Generated.Refs.fsx"

Longer term this is going to cause people issues when netstandard has a new version. There's a Paket issue tracking being able to discuss adding the required reference: https://github.com/fsprojects/Paket/issues/3216

cgravill commented 6 years ago

I've merged these changes in so it should be a bit easier to interact with .net standard NuGets. You'll still need the manual #r to netstandard for now and there's further work to be done on getting native library references but that's either a manual operation or Paket may be able to help.