-
Notifications
You must be signed in to change notification settings - Fork 520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dotnet 3.1 always restores latest fsharp.core version #3769
Comments
confirmed this is a bug. It looks like the following tags in the props file are ignored.
if you set those manually into your fsproj then it works and it uses FSharp.Core 4.6 I tested this multiple times with older SDKs - why is it not loading this variables from |
ok scratch that. It's a timing issue. |
Ok please retry with latest. But keep in mind you need to nuke obj file and check that paket's targets file is already updated. So do a paket restore or something before you build. |
Paket 5.241.6 seems to do the job 👍 But then I'm using FAKE 5.19 to build and it's using Paket 5.241.2 that overwrites targets file with older version.
Unless there's a better way of doing that? |
The other way is to put the tags into the fsproj as described above. /cc @matthid |
Ok cool - placing those properties in fsproj worked as well 👍 |
No, that's why we have that option. I'm trying hard to only ship "stable" versions of Paket with Fake and Fake will always recommend using that version. Another possible option is to use the version FAKE recommends and apply the workaround (setting those MSBuild variables) to the |
So I should push it as minor? I can do that. Give me 10min
Matthias Dittrich <[email protected]> schrieb am Sa., 4. Jan. 2020,
16:41:
… Unless there's a better way of doing that?
No, that's why we have that option. I'm trying hard to only ship "stable"
versions of Paket with Fake and Fake will always recommend using that
version. Another possible option is to use the version FAKE recommends and
apply the workaround (setting those MSBuild variables) to the
directory.props
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#3769?email_source=notifications&email_token=AAAOANB2OEIP72E53HYLWZ3Q4CU4FA5CNFSM4KCSD6R2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIC2KOQ#issuecomment-570795322>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAOANCGKIYYEHNWL4PYN6LQ4CU4FANCNFSM4KCSD6RQ>
.
|
It doesn't matter. In any case a new fake release is required and that always takes a while, so feel free to fix when appropriate and then it will flow into fake as usual ;) I don't feel like this is critical enough to justify rushing a release train. Several workarounds are available. |
Description
After upgrading from .net 3.0.100 to 3.1.100 it writes incorrect version of FSharp.Core to
project.assets.json
.I have pinned FSharp.Core to 4.6 however it seems .net 3.1 tries to restore latest FSharp.Core 4.7
Repro steps
https://github.com/theimowski/net40_fsharp_core_3.1.2.5
Don't pay attention to repository name - initally I thought it was related to net40 and this old version of fsharp core, but found the issue is more generic
Expected behavior
FSharp.Core version 4.6 in project.assets.json
Actual behavior
FSharp.Core 4.7 in project.assets.json
Known workarounds
I originally discovered this issue for net40 framework and old version of fsharp.core: 3.1.2.5, because for this mix
dotnet build
failed with a "Package FSharp.Core 4.7.0 is not compatible with net40" error:When I did
dotnet paket restore
beforedotnet build
the restore completed succesfully, but only for this net40 fsharp.core 3.1.2.5 mixThe version written to project.assets.json was also correct:
Not sure what's happening here - tried to compare the files created by paket in obj directory but they seem to be identical in both cases...
The text was updated successfully, but these errors were encountered: