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
- dotnet build
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:
> dotnet build
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Paket version 5.241.5
Starting full restore process.
Performance:
- Disk IO: 123 milliseconds
- Runtime: 965 milliseconds
/Users/theimowski/sandbox/paket/net40_fsharp_core_3.1.2.5/net40_fsharp_core_3.1.2.5.fsproj : error NU1202: Package FSharp.Core 4.7.0 is not compatible with net40 (.NETFramework,Version=v4.0). Package FSharp.Core 4.7.0 supports:
/Users/theimowski/sandbox/paket/net40_fsharp_core_3.1.2.5/net40_fsharp_core_3.1.2.5.fsproj : error NU1202: - net45 (.NETFramework,Version=v4.5)
/Users/theimowski/sandbox/paket/net40_fsharp_core_3.1.2.5/net40_fsharp_core_3.1.2.5.fsproj : error NU1202: - netstandard2.0 (.NETStandard,Version=v2.0)
Restore failed in 242.67 ms for /Users/theimowski/sandbox/paket/net40_fsharp_core_3.1.2.5/net40_fsharp_core_3.1.2.5.fsproj.
When I did dotnet paket restore before dotnet build the restore completed succesfully, but only for this net40 + fsharp.core 3.1.2.5 mix
The version written to project.assets.json was also correct:
> dotnet paket restore
Paket version 5.241.5
Starting full restore process.
Performance:
- Disk IO: 121 milliseconds
- Runtime: 871 milliseconds
> dotnet build
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 217.41 ms for /Users/theimowski/sandbox/paket/net40_fsharp_core_3.1.2.5/net40_fsharp_core_3.1.2.5.fsproj.
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...
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 buildfailed with a "Package FSharp.Core 4.7.0 is not compatible with net40" error:When I did
dotnet paket restorebeforedotnet buildthe 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...