Build everything as .NET 10#2899
Conversation
Change global.json .NET 6 to 8 Search and replace targetframeworks from fsproj files to add net8.0 Add net8.0 to paket.dependencies dotnet paket install to find .NET8 compatible dependencies Expecto had to be hardcoded for now, because some tests are running on netstandard2.0 library (hopefully we can update this separately later) MSBuild.StructuredLogger problem: DisableInternalBinLog = true had to be added to build.fsx NuGet commands (hopefully we can update this separately later) A few places of code had new overrides so had to explicitly type to strings SdkAssemblyResolver to default .NET 8 as well Readme update GitHub pipeline configs: Add .NET 8 install.
…l has to be upgraded from 16 to 20, to make GenerateDocs task pass.
…the 8.0.0 alpha build Instead of pulling the 6.1.X build off NuGet.org. This might bootstrap the tests enough to get them all passing
…n 8.0.0 instead of 6.0.0
Because it might be .NET 8 releases now
… up the fix for GHSA-w3q9-fxm7-j8fq Also updates transitive dependencies on System.Text.Json to
| </PropertyGroup> | ||
| <PropertyGroup> | ||
| <!-- Disable package pruning warnings when using Paket --> | ||
| <NoWarn>NU1510</NoWarn> |
There was a problem hiding this comment.
There are warnings about package pruning in the builds on .NET 10 - see fsprojects/Paket#4307
| Common = { defaults.Common with WorkingDirectory = "src/app/fake-cli/" } | ||
| MSBuildParams = setMsBuildParams defaults.MSBuildParams } | ||
|
|
||
| DotNet.msbuild setParams "fake-cli.fsproj" |
There was a problem hiding this comment.
Pretty much everything in the build just worked after moving to .NET 10, but one issue was with the tool for building the .deb package.
Firstly, the current dotnet tool release is built as several .NET versions but not 10, and has roll forward disabled (see quamotion/dotnet-packaging#268) . Enabling roll forward made the build pass on Windows and Linux, but macOS failed with some issues about .NET 9 not being able to build .NET 10 assemblies, as though it was using the old SDK even though global.json points at .NET 10.
Changing it to use the dotnet-deb CreateDeb MSBuild tasks instead of the global tool has made it work on all 3 platforms, but that needs a review to confirm that it's ok.
| @@ -1,110 +0,0 @@ | |||
| { | |||
There was a problem hiding this comment.
I don't believe that this or PaketRestoreTask.dll are needed any more (it looks to me like it was added in Paket 4, and then removed in 4 as well, back in 2017), though I don't know any of the history of that.
| NuGet.Frameworks (6.12.4) | ||
| NuGet.Packaging (6.12.4) | ||
| Newtonsoft.Json (13.0.4) | ||
| NuGet.Common (6.14.3) |
There was a problem hiding this comment.
paket.lock changes largely done just by adding changing the TFMs in paket.dependencies and running an update.
One note: NuGet packages left at 6.14 instead of v7, because 7 doesn't support .NET Standard 2.0 any more, and some of the consumers here are multi-targetted as .NET standard 2.0 and .NET 10.0
Test Results 12 files + 2 12 suites +2 32m 13s ⏱️ + 15m 58s Results for commit d240366. ± Comparison against base commit e37773e. This pull request removes 3 and adds 3 tests. Note that renamed tests count towards both. |
Description
Changes to build everything as .NET 10, built on top of #2852