Closed KevinRansom closed 7 years ago
Fixed by https://github.com/fsprojects/ProjectScaffold/pull/290, default package for libraries created using the scaffold is now 4.0.0.1
@dsyme
Are you not using FSharp.Core 4.1 in scaffold?
Are you not using FSharp.Core 4.1 in scaffold?
For a library it is better that we just have people default to FSharp.Core for F# 4.0 as it makes the library more broadly usable. They can bump the version in paket.dependencies if they want
@dsyme What makes it more broadly usable? 4.4.1.0 is usable in all of the same places, and has a ton of new Apis? and is 4.0.0.1 even signed. Because I don't believe we ever shipped a signed 4.0.0.1 dll.
Thanks
"More broadly" means it would be compatible in more scenarios when a package resolve needs to downgrade Version since some other package is bound to older fsharp.core package. So it is not about the package itself but about the open version range.
Am 08.06.2017 20:00 schrieb "Kevin Ransom (msft)" <notifications@github.com
:
@dsyme https://github.com/dsyme What makes it more broadly usable? 4.4.1.0 is usable in all of the same places, and has a ton of new Apis? and is 4.0.0.1 even signed. Because I don't believe we ever shipped a signed 4.0.0.1 dll.
Thanks
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fsprojects/ProjectScaffold/issues/288#issuecomment-307180994, or mute the thread https://github.com/notifications/unsubscribe-auth/AADgNOToKEkPYeiIUzPNR-HjZZsLV4mWks5sCDbMgaJpZM4NzNwr .
/cc @forki @dsyme @cartermp Guys,
I noticed this .. and it probably won't work as well as expected now that we have removed a bunch of profiles from FSharp.Core.nuget version 4.2.*
When we discussed the change we offered the following guidance: <snip> • Existing packages targeting pcls, net20, or net40 use FSharp.Core.nuget versions 4.1.xxx • Existing desktop libraries or projects ... either package is fine, prefer FSharp.Core.nuget versions 4.2.xxx where feasible. • New desktop projects, Xamarin projects, or netstandard projects use: FSharp.Core.nuget versions 4.2.xxx • Library developers --- target as low a version of dotnet standard as your API consumption allows. netstandard1.6 is ideal for libraries not including type providers. Provide a net45 and netstandard build of your libraries, to enable developers who need to deploy to a wide range of existing Windows dotnet installs. FSharp.Core.nuget versions 4.2.xxx • TP developers you will need to target dotnet standard 2.0 and/or net45 --- but the netstandard1.6 profile of FSharp.Core will be ideal to build against use: FSharp.Core.nuget, 4.2.xxx </snip>
In this case use means: <package id="FSharp.Core" version="4.1.*" />
Or: <PackageReference Include="FSharp.Core" Version="4.2.*"></PackageReference>
I would suggest that you tighten down the scaffold templates to restrict the FSharp.Core version to: 4.1.* here: https://github.com/fsprojects/ProjectScaffold/blob/master/paket.dependencies
Kevin