fsprojects / FSharp.Data.GraphQL

FSharp implementation of Facebook GraphQL query language.
http://fsprojects.github.io/FSharp.Data.GraphQL/
MIT License
394 stars 72 forks source link

net8.0 support #483

Open aggieben opened 4 days ago

aggieben commented 4 days ago

Description

.NET 8 is the current LTS version of .NET, and most new projects should be targeting net8.0. This lib still targets net7.0, which is no longer supported. See this page for details: https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core. This is problematic because it causes the compiler to resolve FSharp.Core to the 7.0 version, which results in runtime exceptions in software looking for FSharp.Core 8.0.

Expected behavior

Actual behavior

The following are the warnings generated at compile time when the references are resolved:

C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj : warning NU1608: Detected package version outside of dependency constraint: FSharp.Control.Reactive 5.0.5 requires System.
Reactive (>= 5.0.0 && < 6.0.0) but version System.Reactive 6.0.1 was resolved.
C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj : warning NU1608: Detected package version outside of dependency constraint: FSharp.Control.Reactive 5.0.5 requires System.
Reactive (>= 5.0.0 && < 6.0.0) but version System.Reactive 6.0.1 was resolved.
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277: Found conflicts between different versions of "FSharp.Core" that could not be resolved. [C:\Users\Ben
\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277: There was a conflict between "FSharp.Core, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f1
1d50a3a" and "FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:     "FSharp.Core, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was chosen becau
se it was primary and "FSharp.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was not. [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:     References which depend on "FSharp.Core, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7
f11d50a3a" [C:\Users\Ben\.nuget\packages\fsharp.core\7.0.403\lib\netstandard2.1\FSharp.Core.dll]. [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fsharp.core\7.0.403\lib\netstandard2.1\FSharp.Core.dll [C:\Users
\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fsharp.core
\7.0.403\lib\netstandard2.1\FSharp.Core.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.core\7.0.403\lib\netstandard2.1\FSharp.Core.dll [C:\U
sers\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:     References which depend on or have been unified to "FSharp.Core, Version=8.0.0.0, Culture=neutral
, PublicKeyToken=b03f5f7f11d50a3a" []. [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\proj\smart-transact\src\SmartTransact.Data\bin\Debug\net8.0\SmartTransact.Data.d
ll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\proj\smart-transact\src\Sma
rtTransact.Data\bin\Debug\net8.0\SmartTransact.Data.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\proj\smart-transact\src\SmartTransact.Data\bin\Debug\net8.0\SmartTransact.Da
ta.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\falco\4.0.6\lib\net8.0\Falco.dll [C:\Users\Ben\proj\smart-transa
ct\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\falco\4.0.6
\lib\net8.0\Falco.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\falco\4.0.6\lib\net8.0\Falco.dll [C:\Users\Ben\proj\smart-tr
ansact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\falco.markup\1.0.2\lib\netstandard2.0\Falco.Markup.dll [C:\Users
\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\falco.marku
p\1.0.2\lib\netstandard2.0\Falco.Markup.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\falco.markup\1.0.2\lib\netstandard2.0\Falco.Markup.dll [C:\U
sers\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\falco\4.0.6\lib\net8.0\Falco.dll [C:\Users\Ben\proj\smart-tr
ansact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fparsec\1.1.1\lib\netstandard2.0\FParsec.dll [C:\Users\Ben\proj\
smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fparsec\1.1
.1\lib\netstandard2.0\FParsec.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fparsec\1.1.1\lib\netstandard2.0\FParsec.dll [C:\Users\Ben\p
roj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fparsec\1.1.1\lib\netstandard2.0\FParsecCS.dll [C:\Users\Ben\pro
j\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fparsec\1.1
.1\lib\netstandard2.0\FParsecCS.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fparsec\1.1.1\lib\netstandard2.0\FParsecCS.dll [C:\Users\Ben
\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fparsec\1.1.1\lib\netstandard2.0\FParsec.dll [C:\Users\Ben\p
roj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fsharp.control.reactive\5.0.5\lib\net6.0\FSharp.Control.Reactive
.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fsharp.cont
rol.reactive\5.0.5\lib\net6.0\FSharp.Control.Reactive.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.control.reactive\5.0.5\lib\net6.0\FSharp.Control.Reac
tive.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.GraphQL.
Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fsharp.data
.graphql.server\2.2.1\lib\net7.0\FSharp.Data.GraphQL.Server.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.GraphQL.
Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fsharp.data
.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.GraphQL.Shared.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fsharp.systemtextjson\1.3.13\lib\netstandard2.0\FSharp.SystemTex
tJson.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fsharp.syst
emtextjson\1.3.13\lib\netstandard2.0\FSharp.SystemTextJson.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.systemtextjson\1.3.13\lib\netstandard2.0\FSharp.Syste
mTextJson.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:         C:\Users\Ben\.nuget\packages\fstoolkit.errorhandling\4.15.2\lib\netstandard2.1\FsToolkit.Erro
rHandling.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:           Project file item includes which caused reference "C:\Users\Ben\.nuget\packages\fstoolkit.e
rrorhandling\4.15.2\lib\netstandard2.1\FsToolkit.ErrorHandling.dll". [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fstoolkit.errorhandling\4.15.2\lib\netstandard2.1\FsToolkit.
ErrorHandling.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.server\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Server.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]
C:\Program Files\dotnet\sdk\8.0.302\Microsoft.Common.CurrentVersion.targets(2401,5): warning MSB3277:             C:\Users\Ben\.nuget\packages\fsharp.data.graphql.shared\2.2.1\lib\net7.0\FSharp.Data.Grap
hQL.Shared.dll [C:\Users\Ben\proj\smart-transact\src\SmartTransact.Api\SmartTransact.Api.fsproj]

Known workarounds

Add direct reference to FSharp.Core

Related information

xperiandri commented 2 days ago

.NET 8 is already merged I can release Maybe I’ll include Oxpecker support to make a breaking change before the release