From 57a2bbae8d28432ab93ceaa87298605f41a18a44 Mon Sep 17 00:00:00 2001 From: Tuomas Hietanen Date: Mon, 14 Apr 2025 14:36:11 +0100 Subject: [PATCH 1/3] Update test-projects to net8.0 --- .../BasicProvider.DesignTime.fsproj | 2 +- .../BasicProvider.Runtime.fsproj | 3 ++- .../BasicProvider.Tests.fsproj | 2 +- .../StressProvider.Tests.fsproj | 2 +- examples/StressProvider/StressProvider.fsproj | 2 +- .../content/basic/.config/dotnet-tools.json | 23 ++++++++++--------- templates/content/basic/global.json | 2 +- .../MyProvider.DesignTime.fsproj | 2 +- .../MyProvider.Runtime.fsproj | 2 +- .../MyProvider.Tests/MyProvider.Tests.fsproj | 2 +- tests/FSharp.TypeProviders.SDK.Tests.fsproj | 2 +- 11 files changed, 23 insertions(+), 21 deletions(-) diff --git a/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj b/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj index 31238603..a5402214 100644 --- a/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj +++ b/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj @@ -1,7 +1,7 @@  Library - netstandard2.1 + netstandard2.0;netstandard2.1 IS_DESIGNTIME diff --git a/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj b/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj index de7a7a79..85718f5a 100644 --- a/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj +++ b/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj @@ -2,10 +2,11 @@ Library - netstandard2.1 + netstandard2.0;netstandard2.1 typeproviders typeproviders false + false diff --git a/examples/BasicProvider.Tests/BasicProvider.Tests.fsproj b/examples/BasicProvider.Tests/BasicProvider.Tests.fsproj index db2601e8..a62b9c0e 100644 --- a/examples/BasicProvider.Tests/BasicProvider.Tests.fsproj +++ b/examples/BasicProvider.Tests/BasicProvider.Tests.fsproj @@ -1,7 +1,7 @@  - net5.0 + net8.0 diff --git a/examples/StressProvider.Tests/StressProvider.Tests.fsproj b/examples/StressProvider.Tests/StressProvider.Tests.fsproj index 1fd9acbd..3be695d8 100644 --- a/examples/StressProvider.Tests/StressProvider.Tests.fsproj +++ b/examples/StressProvider.Tests/StressProvider.Tests.fsproj @@ -1,7 +1,7 @@  - net5.0 + net8.0 false diff --git a/examples/StressProvider/StressProvider.fsproj b/examples/StressProvider/StressProvider.fsproj index da359f16..c48d2531 100644 --- a/examples/StressProvider/StressProvider.fsproj +++ b/examples/StressProvider/StressProvider.fsproj @@ -1,7 +1,7 @@  - netstandard2.1 + netstandard2.0;netstandard2.1 false true false diff --git a/templates/content/basic/.config/dotnet-tools.json b/templates/content/basic/.config/dotnet-tools.json index 5c1c4a93..fa860197 100644 --- a/templates/content/basic/.config/dotnet-tools.json +++ b/templates/content/basic/.config/dotnet-tools.json @@ -1,12 +1,13 @@ -{ - "version": 1, - "isRoot": true, - "tools": { - "paket": { - "version": "6.1.3", - "commands": [ - "paket" - ] - } - } +{ + "version": 1, + "isRoot": true, + "tools": { + "paket": { + "version": "9.0.2", + "commands": [ + "paket" + ], + "rollForward": false + } + } } \ No newline at end of file diff --git a/templates/content/basic/global.json b/templates/content/basic/global.json index 5d1166b6..453188a1 100644 --- a/templates/content/basic/global.json +++ b/templates/content/basic/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "5.0.400", + "version": "8.0.400", "rollForward": "minor" } } \ No newline at end of file diff --git a/templates/content/basic/src/MyProvider.DesignTime/MyProvider.DesignTime.fsproj b/templates/content/basic/src/MyProvider.DesignTime/MyProvider.DesignTime.fsproj index 50d8893f..d94700ec 100644 --- a/templates/content/basic/src/MyProvider.DesignTime/MyProvider.DesignTime.fsproj +++ b/templates/content/basic/src/MyProvider.DesignTime/MyProvider.DesignTime.fsproj @@ -1,7 +1,7 @@  Library - netstandard2.1 + netstandard2.0;netstandard2.1 IS_DESIGNTIME true diff --git a/templates/content/basic/src/MyProvider.Runtime/MyProvider.Runtime.fsproj b/templates/content/basic/src/MyProvider.Runtime/MyProvider.Runtime.fsproj index 38e5e967..0516c278 100644 --- a/templates/content/basic/src/MyProvider.Runtime/MyProvider.Runtime.fsproj +++ b/templates/content/basic/src/MyProvider.Runtime/MyProvider.Runtime.fsproj @@ -2,7 +2,7 @@ Library - netstandard2.1 + netstandard2.0;netstandard2.1 true typeproviders typeproviders diff --git a/templates/content/basic/tests/MyProvider.Tests/MyProvider.Tests.fsproj b/templates/content/basic/tests/MyProvider.Tests/MyProvider.Tests.fsproj index bc70b199..c18e5628 100644 --- a/templates/content/basic/tests/MyProvider.Tests/MyProvider.Tests.fsproj +++ b/templates/content/basic/tests/MyProvider.Tests/MyProvider.Tests.fsproj @@ -1,6 +1,6 @@  - net5.0 + net8.0 true diff --git a/tests/FSharp.TypeProviders.SDK.Tests.fsproj b/tests/FSharp.TypeProviders.SDK.Tests.fsproj index c1d971b5..72fad8ce 100644 --- a/tests/FSharp.TypeProviders.SDK.Tests.fsproj +++ b/tests/FSharp.TypeProviders.SDK.Tests.fsproj @@ -1,7 +1,7 @@  - net5.0 + net8.0 false 5.0 From ea0e50ecba894a350b1dd86d94af9ca3fb4a0c85 Mon Sep 17 00:00:00 2001 From: Tuomas Hietanen Date: Wed, 14 May 2025 10:00:40 +0100 Subject: [PATCH 2/3] netstandard2.1 -> net8.0 --- .../BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj | 2 +- examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj | 2 +- examples/StressProvider/StressProvider.fsproj | 2 +- src/FSharp.TypeProviders.SDK.fsproj | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj b/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj index a5402214..e25472c1 100644 --- a/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj +++ b/examples/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj @@ -1,7 +1,7 @@  Library - netstandard2.0;netstandard2.1 + netstandard2.0;net8.0 IS_DESIGNTIME diff --git a/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj b/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj index 85718f5a..75c61bde 100644 --- a/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj +++ b/examples/BasicProvider.Runtime/BasicProvider.Runtime.fsproj @@ -2,7 +2,7 @@ Library - netstandard2.0;netstandard2.1 + netstandard2.0;net8.0 typeproviders typeproviders false diff --git a/examples/StressProvider/StressProvider.fsproj b/examples/StressProvider/StressProvider.fsproj index c48d2531..3f2e83c8 100644 --- a/examples/StressProvider/StressProvider.fsproj +++ b/examples/StressProvider/StressProvider.fsproj @@ -1,7 +1,7 @@  - netstandard2.0;netstandard2.1 + netstandard2.0;net8.0 false true false diff --git a/src/FSharp.TypeProviders.SDK.fsproj b/src/FSharp.TypeProviders.SDK.fsproj index ccacd565..47eaf927 100644 --- a/src/FSharp.TypeProviders.SDK.fsproj +++ b/src/FSharp.TypeProviders.SDK.fsproj @@ -1,6 +1,6 @@  - netstandard2.0;netstandard2.1 + netstandard2.0;net8.0 Library portable true From 2fa2b2bc43a56a9429c391e3c38bbef071f59623 Mon Sep 17 00:00:00 2001 From: Tuomas Hietanen Date: Wed, 14 May 2025 10:33:06 +0100 Subject: [PATCH 3/3] Old serialization on NET 8.0 raises a warning as error --- examples/StressProvider/StressProvider.fsproj | 1 + src/ProvidedTypes.fs | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/examples/StressProvider/StressProvider.fsproj b/examples/StressProvider/StressProvider.fsproj index 3f2e83c8..9ec31ebe 100644 --- a/examples/StressProvider/StressProvider.fsproj +++ b/examples/StressProvider/StressProvider.fsproj @@ -5,6 +5,7 @@ false true false + false diff --git a/src/ProvidedTypes.fs b/src/ProvidedTypes.fs index 044765d2..79fc447a 100644 --- a/src/ProvidedTypes.fs +++ b/src/ProvidedTypes.fs @@ -6,6 +6,7 @@ namespace ProviderImplementation.ProvidedTypes #nowarn "1182" #nowarn "3370" +#nowarn "0044" // This construct is deprecated. Formatter-based serialization is obsolete and should not be used. // This file contains a set of helper types and methods for providing types in an implementation // of ITypeProvider. @@ -2926,6 +2927,9 @@ module internal AssemblyReader = member x.IsStatic = x.Attributes &&& FieldAttributes.Static <> enum 0 member x.IsInitOnly = x.Attributes &&& FieldAttributes.InitOnly <> enum 0 member x.IsLiteral = x.Attributes &&& FieldAttributes.Literal <> enum 0 +#if NETSTANDARD2_1_OR_GREATER + [] +#endif member x.NotSerialized = x.Attributes &&& FieldAttributes.NotSerialized <> enum 0 member x.IsSpecialName = x.Attributes &&& FieldAttributes.SpecialName <> enum 0 //let isStatic = (flags &&& 0x0010) <> 0 @@ -3030,6 +3034,9 @@ module internal AssemblyReader = member x.IsDelegate = (match x.Kind with ILTypeDefKind.Delegate -> true | _ -> false) member x.IsAbstract= (x.Attributes &&& TypeAttributes.Abstract) <> enum 0 member x.IsSealed= (x.Attributes &&& TypeAttributes.Sealed) <> enum 0 +#if NETSTANDARD2_1_OR_GREATER + [] +#endif member x.IsSerializable= (x.Attributes &&& TypeAttributes.Serializable) <> enum 0 member x.IsComInterop= (x.Attributes &&& TypeAttributes.Import) <> enum 0 member x.IsSpecialName= (x.Attributes &&& TypeAttributes.SpecialName) <> enum 0