From a54dc67426683f6b9de2449c61c417eebcbfbf65 Mon Sep 17 00:00:00 2001 From: Priyanka Tiwari Date: Mon, 13 Oct 2025 18:04:08 +0530 Subject: [PATCH 01/23] - Changes for .net10 support - Conditional logic for system dlls which are part of BCL in .NET 10 --- Directory.Packages.props | 8 ++++---- .../build-all-configurations-signed-dlls-step.yml | 7 +++++++ .../common/templates/steps/ci-project-build-step.yml | 6 ++++++ .../common/templates/steps/pre-build-step.yml | 6 ++++++ eng/pipelines/steps/compound-build-akv-step.yml | 7 +++++++ ...ient.AlwaysEncrypted.AzureKeyVaultProvider.csproj | 8 ++++++-- .../netcore/ref/Microsoft.Data.SqlClient.csproj | 6 +++++- .../netcore/src/Microsoft.Data.SqlClient.csproj | 4 ++++ .../src/Microsoft.Data.SqlClient.csproj | 12 +++++++++--- .../tests/Directory.Build.props | 2 +- .../Microsoft.Data.SqlClient.PerformanceTests.csproj | 2 +- .../tests/StressTests/Directory.Build.props | 2 +- .../Microsoft.Data.SqlClient.ExtUtilities.csproj | 3 +-- 13 files changed, 58 insertions(+), 15 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 974cd4573c..735a862927 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,11 +12,11 @@ - + - + @@ -65,13 +65,13 @@ - + - + diff --git a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml index bf2d9fa905..c18e8a7d5b 100644 --- a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml +++ b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml @@ -31,6 +31,13 @@ steps: secureFile: netfxKeypair.snk retryCount: 5 +- task: UseDotNet@2 + displayName: 'Use .NET 10.x sdk' + inputs: + packageType: sdk + version: '10.x' + includePreviewVersions: true + - task: UseDotNet@2 displayName: 'Use .NET 9.x sdk' inputs: diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index f8f4f94f05..8e339041af 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -37,6 +37,12 @@ parameters: - allNoDocs steps: +- template: ./ensure-dotnet-version.yml@self + parameters: + packageType: 'sdk' + version: '10.0' + usePreview: true + - template: ./ensure-dotnet-version.yml@self parameters: packageType: 'sdk' diff --git a/eng/pipelines/common/templates/steps/pre-build-step.yml b/eng/pipelines/common/templates/steps/pre-build-step.yml index f6506183b3..2ddc03e1db 100644 --- a/eng/pipelines/common/templates/steps/pre-build-step.yml +++ b/eng/pipelines/common/templates/steps/pre-build-step.yml @@ -4,6 +4,12 @@ # See the LICENSE file in the project root for more information. # ################################################################################# steps: +- template: ./ensure-dotnet-version.yml@self + parameters: + packageType: 'sdk' + version: '10.0' + usePreview: true + - template: ./ensure-dotnet-version.yml@self parameters: packageType: 'sdk' diff --git a/eng/pipelines/steps/compound-build-akv-step.yml b/eng/pipelines/steps/compound-build-akv-step.yml index 2b4faef3a4..e1e78addfa 100644 --- a/eng/pipelines/steps/compound-build-akv-step.yml +++ b/eng/pipelines/steps/compound-build-akv-step.yml @@ -29,6 +29,13 @@ steps: retryCount: 5 secureFile: 'netfxKeypair.snk' + - task: UseDotNet@2 + displayName: 'Install .NET 10.x SDK' + inputs: + packageType: 'sdk' + version: '10.x' + includePreviewVersions: true + - task: UseDotNet@2 displayName: 'Install .NET 9.x SDK' inputs: diff --git a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj index f1d7c76751..91951e552e 100644 --- a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj +++ b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj @@ -36,8 +36,12 @@ - + - + + + + + diff --git a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj index a1b8110fb8..76930df7ae 100644 --- a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj @@ -42,8 +42,12 @@ - + + + + + diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index 32b9e76c98..082e812c2c 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -1106,6 +1106,10 @@ + + + + diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index 75b9377df2..5ad563db09 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -14,10 +14,10 @@ - + - - + + @@ -27,5 +27,11 @@ + + + + + + diff --git a/src/Microsoft.Data.SqlClient/tests/Directory.Build.props b/src/Microsoft.Data.SqlClient/tests/Directory.Build.props index 8990633c6d..71335f36ba 100644 --- a/src/Microsoft.Data.SqlClient/tests/Directory.Build.props +++ b/src/Microsoft.Data.SqlClient/tests/Directory.Build.props @@ -17,7 +17,7 @@ net462 - net8.0;net9.0 + net8.0;net9.0;net10.0 diff --git a/src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj b/src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj index 24bcaab242..380e3c8a8e 100644 --- a/src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj +++ b/src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj @@ -2,7 +2,7 @@ Exe PerformanceTests - net8.0;net9.0 + net8.0;net9.0;net10.0 Debug;Release; $(ObjFolder)$(Configuration).$(Platform).$(AssemblyName) $(BinFolder)$(Configuration).$(Platform).$(AssemblyName) diff --git a/src/Microsoft.Data.SqlClient/tests/StressTests/Directory.Build.props b/src/Microsoft.Data.SqlClient/tests/StressTests/Directory.Build.props index 66fbacae6c..6ff30d72c8 100644 --- a/src/Microsoft.Data.SqlClient/tests/StressTests/Directory.Build.props +++ b/src/Microsoft.Data.SqlClient/tests/StressTests/Directory.Build.props @@ -6,7 +6,7 @@ - net462;net47;net471;net472;net48;net481;net8.0;net9.0 + net462;net47;net471;net472;net48;net481;net8.0;net9.0;net10.0 - From f2411bfac4885a53690153448849b522b7909d4c Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Fri, 28 Nov 2025 19:45:27 +0530 Subject: [PATCH 02/23] Remove includePreviewVersions for .NET 10.x SDK Removed the option to include preview versions for .NET 10.x SDK. --- .../steps/build-all-configurations-signed-dlls-step.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml index c18e8a7d5b..0a9110a9ac 100644 --- a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml +++ b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml @@ -36,7 +36,6 @@ steps: inputs: packageType: sdk version: '10.x' - includePreviewVersions: true - task: UseDotNet@2 displayName: 'Use .NET 9.x sdk' From 0430b05a548bd6bae14fc755fcd6f9e352312475 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Fri, 28 Nov 2025 19:45:55 +0530 Subject: [PATCH 03/23] Remove includePreviewVersions for .NET 10.x SDK Removed the option to include preview versions for .NET 10.x SDK installation. --- eng/pipelines/steps/compound-build-akv-step.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/pipelines/steps/compound-build-akv-step.yml b/eng/pipelines/steps/compound-build-akv-step.yml index e1e78addfa..6724bb7a23 100644 --- a/eng/pipelines/steps/compound-build-akv-step.yml +++ b/eng/pipelines/steps/compound-build-akv-step.yml @@ -34,7 +34,6 @@ steps: inputs: packageType: 'sdk' version: '10.x' - includePreviewVersions: true - task: UseDotNet@2 displayName: 'Install .NET 9.x SDK' From 0e02281c0769314736c7351f2f3a99b3f13f5155 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Mon, 1 Dec 2025 18:31:40 +0530 Subject: [PATCH 04/23] Change .NET 9.x task from sdk to runtime --- .../steps/build-all-configurations-signed-dlls-step.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml index 0a9110a9ac..ef19650643 100644 --- a/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml +++ b/eng/pipelines/common/templates/steps/build-all-configurations-signed-dlls-step.yml @@ -38,9 +38,9 @@ steps: version: '10.x' - task: UseDotNet@2 - displayName: 'Use .NET 9.x sdk' + displayName: 'Use .NET 9.x runtime' inputs: - packageType: sdk + packageType: runtime version: '9.x' - task: UseDotNet@2 From 46f271228af9b5b7712fd2ea78d24659e4a2969a Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Mon, 1 Dec 2025 18:32:51 +0530 Subject: [PATCH 05/23] Update ci-project-build-step.yml --- eng/pipelines/common/templates/steps/ci-project-build-step.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index 8e339041af..9c2e2d5c37 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -45,7 +45,7 @@ steps: - template: ./ensure-dotnet-version.yml@self parameters: - packageType: 'sdk' + packageType: 'runtime' version: '9.0' - template: ./ensure-dotnet-version.yml@self From e0e953918e36be15e506be4f89d1866b733ad78c Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Mon, 1 Dec 2025 18:33:41 +0530 Subject: [PATCH 06/23] Update pre-build-step.yml --- eng/pipelines/common/templates/steps/pre-build-step.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/pre-build-step.yml b/eng/pipelines/common/templates/steps/pre-build-step.yml index 2ddc03e1db..2eb9b42fbb 100644 --- a/eng/pipelines/common/templates/steps/pre-build-step.yml +++ b/eng/pipelines/common/templates/steps/pre-build-step.yml @@ -12,7 +12,7 @@ steps: - template: ./ensure-dotnet-version.yml@self parameters: - packageType: 'sdk' + packageType: 'runtime' version: '9.0' - template: ./ensure-dotnet-version.yml@self From 2ee557b033e75182f65c48e66935066b61bcbc87 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Mon, 1 Dec 2025 18:34:37 +0530 Subject: [PATCH 07/23] Update compound-build-akv-step.yml --- eng/pipelines/steps/compound-build-akv-step.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/steps/compound-build-akv-step.yml b/eng/pipelines/steps/compound-build-akv-step.yml index 6724bb7a23..2dd21d8514 100644 --- a/eng/pipelines/steps/compound-build-akv-step.yml +++ b/eng/pipelines/steps/compound-build-akv-step.yml @@ -36,9 +36,9 @@ steps: version: '10.x' - task: UseDotNet@2 - displayName: 'Install .NET 9.x SDK' + displayName: 'Install .NET 9.x Runtime' inputs: - packageType: 'sdk' + packageType: 'runtime' version: '9.x' - task: UseDotNet@2 From 9b8e57d9a41272e40d8f40ead01dbcd2e8e99fce Mon Sep 17 00:00:00 2001 From: Priyanka Tiwari Date: Mon, 1 Dec 2025 22:32:25 +0530 Subject: [PATCH 08/23] re-doing some comments related fix. --- Directory.Packages.props | 15 +++++++-------- .../templates/jobs/ci-code-coverage-job.yml | 5 +++++ .../common/templates/steps/ci-prebuild-step.yml | 6 ++++++ .../templates/steps/ci-project-build-step.yml | 1 - .../templates/steps/prepare-test-db-step.yml | 2 +- eng/pipelines/dotnet-sqlclient-ci-core.yml | 6 +++--- ...et-sqlclient-ci-package-reference-pipeline.yml | 4 ++-- ...et-sqlclient-ci-project-reference-pipeline.yml | 4 ++-- eng/pipelines/libraries/ci-build-variables.yml | 2 -- ...t.AlwaysEncrypted.AzureKeyVaultProvider.csproj | 3 +-- .../netcore/ref/Microsoft.Data.SqlClient.csproj | 4 +--- .../netcore/src/Microsoft.Data.SqlClient.csproj | 5 +---- .../src/Microsoft.Data.SqlClient.csproj | 5 +---- .../Microsoft.Data.SqlClient.ExtUtilities.csproj | 2 +- 14 files changed, 31 insertions(+), 33 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 735a862927..680f5c756e 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,11 +12,11 @@ - + - + @@ -42,11 +42,11 @@ - + - + - - + - + @@ -101,4 +100,4 @@ - \ No newline at end of file + diff --git a/eng/pipelines/common/templates/jobs/ci-code-coverage-job.yml b/eng/pipelines/common/templates/jobs/ci-code-coverage-job.yml index f246d803cc..d849ef27a7 100644 --- a/eng/pipelines/common/templates/jobs/ci-code-coverage-job.yml +++ b/eng/pipelines/common/templates/jobs/ci-code-coverage-job.yml @@ -63,6 +63,11 @@ jobs: - template: ../steps/ensure-dotnet-version.yml@self parameters: packageType: sdk + version: '10.0' + + - template: ../steps/ensure-dotnet-version.yml@self + parameters: + packageType: runtime version: '9.0' - pwsh: | diff --git a/eng/pipelines/common/templates/steps/ci-prebuild-step.yml b/eng/pipelines/common/templates/steps/ci-prebuild-step.yml index 115186c2e2..4920482059 100644 --- a/eng/pipelines/common/templates/steps/ci-prebuild-step.yml +++ b/eng/pipelines/common/templates/steps/ci-prebuild-step.yml @@ -29,6 +29,12 @@ steps: parameters: packageType: sdk usePreview: false + version: 10.0 + +- template: ensure-dotnet-version.yml + parameters: + packageType: runtime + usePreview: false version: 9.0 - template: ensure-dotnet-version.yml diff --git a/eng/pipelines/common/templates/steps/ci-project-build-step.yml b/eng/pipelines/common/templates/steps/ci-project-build-step.yml index 9c2e2d5c37..2b40aa8216 100644 --- a/eng/pipelines/common/templates/steps/ci-project-build-step.yml +++ b/eng/pipelines/common/templates/steps/ci-project-build-step.yml @@ -41,7 +41,6 @@ steps: parameters: packageType: 'sdk' version: '10.0' - usePreview: true - template: ./ensure-dotnet-version.yml@self parameters: diff --git a/eng/pipelines/common/templates/steps/prepare-test-db-step.yml b/eng/pipelines/common/templates/steps/prepare-test-db-step.yml index 3e01a7a9dc..250fab772a 100644 --- a/eng/pipelines/common/templates/steps/prepare-test-db-step.yml +++ b/eng/pipelines/common/templates/steps/prepare-test-db-step.yml @@ -10,7 +10,7 @@ parameters: - name: targetFramework type: string - default: net9.0 + default: net10.0 steps: - task: DotNetCoreCLI@2 diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index 8a32af9d06..39067b11ee 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -12,17 +12,17 @@ parameters: - name: targetFrameworks displayName: 'Target Frameworks on Windows' type: object - default: [net462, net8.0, net9.0] + default: [net462, net8.0, net9.0, net10.0] - name: targetFrameworksLinux displayName: 'Target Frameworks on Non-Windows' type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: netcoreVersionTestUtils displayName: 'Netcore Version for Test Utilities' type: object - default: net9.0 + default: net10.0 - name: buildPlatforms displayName: 'Build Platforms on Windows' diff --git a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml index d5cda056b4..341017719a 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml @@ -127,12 +127,12 @@ parameters: - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] + default: [net462, net8.0, net9.0, net10.0] - name: targetFrameworksLinux displayName: Target Frameworks on Non-Windows type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets diff --git a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml index 00b6dbc4d6..a784d585dd 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml @@ -127,12 +127,12 @@ parameters: - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] + default: [net462, net8.0, net9.0, net10.0] - name: targetFrameworksLinux displayName: Target Frameworks on Non-Windows type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets diff --git a/eng/pipelines/libraries/ci-build-variables.yml b/eng/pipelines/libraries/ci-build-variables.yml index 122281e083..0d9154da16 100644 --- a/eng/pipelines/libraries/ci-build-variables.yml +++ b/eng/pipelines/libraries/ci-build-variables.yml @@ -11,8 +11,6 @@ variables: - name: buildNumber value: '$(Build.BuildNumber)' - - name: TFNetCore - value: 'net8.0' - name: SQLTarget value: 'localhost' - name: NugetPackageVersion diff --git a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj index 91951e552e..22d9dd2c23 100644 --- a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj +++ b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj @@ -36,11 +36,10 @@ - - + diff --git a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj index 76930df7ae..f5622523b1 100644 --- a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj @@ -43,11 +43,9 @@ - - - + diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index 082e812c2c..326f087308 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -1104,12 +1104,9 @@ - - - - + diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index 5ad563db09..9bef75229a 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -14,10 +14,7 @@ - - - @@ -29,7 +26,7 @@ - + diff --git a/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj b/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj index 433eb0e436..ecd21edd05 100644 --- a/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj +++ b/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj @@ -2,7 +2,7 @@ Exe Microsoft.Data.SqlClient.ExtUtilities.Runner - net9.0;net10.0 + net10.0 From 4f45b27be450373f70d4036a0e1a050528d7b622 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 14:25:23 +0530 Subject: [PATCH 09/23] Format Directory.Packages.props for readability --- Directory.Packages.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 680f5c756e..755adf6c26 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -65,7 +65,8 @@ - + + From 72597304bb4adc451cc7cf37af07698a9fccad0c Mon Sep 17 00:00:00 2001 From: Priyanka Tiwari Date: Tue, 2 Dec 2025 14:46:40 +0530 Subject: [PATCH 10/23] adding comments for packages which are included in .NET 10 BCL --- ....Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj | 2 ++ .../netcore/ref/Microsoft.Data.SqlClient.csproj | 1 + .../netcore/src/Microsoft.Data.SqlClient.csproj | 1 + .../src/Microsoft.Data.SqlClient.csproj | 1 + 4 files changed, 5 insertions(+) diff --git a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj index 22d9dd2c23..2ee7734847 100644 --- a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj +++ b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj @@ -39,6 +39,8 @@ + + diff --git a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj index f5622523b1..4799c89477 100644 --- a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj @@ -45,6 +45,7 @@ + diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index 326f087308..e5ad585d1e 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -1106,6 +1106,7 @@ + diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index 9bef75229a..ad1369913b 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -26,6 +26,7 @@ + From 345e6ac89b2ab99d0ad37eadaa3da29ae41a6a8e Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 15:05:52 +0530 Subject: [PATCH 11/23] Change default target framework from net10.0 to net9.0 --- eng/pipelines/common/templates/steps/prepare-test-db-step.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/steps/prepare-test-db-step.yml b/eng/pipelines/common/templates/steps/prepare-test-db-step.yml index 250fab772a..3e01a7a9dc 100644 --- a/eng/pipelines/common/templates/steps/prepare-test-db-step.yml +++ b/eng/pipelines/common/templates/steps/prepare-test-db-step.yml @@ -10,7 +10,7 @@ parameters: - name: targetFramework type: string - default: net10.0 + default: net9.0 steps: - task: DotNetCoreCLI@2 From 04281b3f070070cc5485575627bc540ee15747ab Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 15:06:40 +0530 Subject: [PATCH 12/23] Update target frameworks in CI pipeline Removed net10.0 from target frameworks for Windows and Linux. --- eng/pipelines/dotnet-sqlclient-ci-core.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index 39067b11ee..16b89e1000 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -12,12 +12,12 @@ parameters: - name: targetFrameworks displayName: 'Target Frameworks on Windows' type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] - name: targetFrameworksLinux displayName: 'Target Frameworks on Non-Windows' type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: netcoreVersionTestUtils displayName: 'Netcore Version for Test Utilities' From 7a7d9472e0741678e9da49ac9a45bbf5c7e81ba1 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 15:07:30 +0530 Subject: [PATCH 13/23] Remove net10.0 from target frameworks --- .../dotnet-sqlclient-ci-package-reference-pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml index 341017719a..d5cda056b4 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml @@ -127,12 +127,12 @@ parameters: - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] - name: targetFrameworksLinux displayName: Target Frameworks on Non-Windows type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets From 3b2cf94e863be5ced9b3c5801d97cf00ddd710b9 Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 15:08:11 +0530 Subject: [PATCH 14/23] Remove net10.0 from target frameworks --- .../dotnet-sqlclient-ci-project-reference-pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml index a784d585dd..00b6dbc4d6 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml @@ -127,12 +127,12 @@ parameters: - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] - name: targetFrameworksLinux displayName: Target Frameworks on Non-Windows type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets From 90cbdc7dfbe4ba1ca19bd0deb6465c65daf21561 Mon Sep 17 00:00:00 2001 From: Priyanka Tiwari Date: Tue, 2 Dec 2025 17:22:57 +0530 Subject: [PATCH 15/23] changes per PR comment --- eng/pipelines/common/templates/steps/pre-build-step.yml | 2 +- src/Directory.Build.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/templates/steps/pre-build-step.yml b/eng/pipelines/common/templates/steps/pre-build-step.yml index 2eb9b42fbb..cfcd9a46f8 100644 --- a/eng/pipelines/common/templates/steps/pre-build-step.yml +++ b/eng/pipelines/common/templates/steps/pre-build-step.yml @@ -8,7 +8,7 @@ steps: parameters: packageType: 'sdk' version: '10.0' - usePreview: true + usePreview: false - template: ./ensure-dotnet-version.yml@self parameters: diff --git a/src/Directory.Build.props b/src/Directory.Build.props index bd945150ee..43fd7e2b22 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -154,6 +154,6 @@ --> - 13 + 14 From 7bb6e0941ef00c7c45cfb2180ad56dde8c2f8b9c Mon Sep 17 00:00:00 2001 From: priyankatiwari08 Date: Tue, 2 Dec 2025 22:46:39 +0530 Subject: [PATCH 16/23] Downgrade C# language version from 14 to 13 --- src/Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 43fd7e2b22..bd945150ee 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -154,6 +154,6 @@ --> - 14 + 13 From 148e9f000938064a99c01060ca138cae5cce5761 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Tue, 2 Dec 2025 13:45:48 -0400 Subject: [PATCH 17/23] - Updated LangVersion to 14 and fixed one place using the new 'field' keyword. - Ignoring NU1510 warnings when using the legacy MSBuild SDK (i.e. msbuild.exe), since it warns about package pruning that the .NET 10 SDK does not. --- src/Directory.Build.props | 6 +++--- .../src/Microsoft/Data/SqlClient/Server/SqlNormalizer.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index bd945150ee..76e8174fc3 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -99,7 +99,7 @@ error. This list should be used sparingly to avoid important warnings being ignored. --> - + NU1510 - - 13 + + 14 diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlNormalizer.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlNormalizer.cs index f5573d6be9..01200df1fa 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlNormalizer.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlNormalizer.cs @@ -129,9 +129,9 @@ internal override int Size { return _size; } - foreach (FieldInfoEx field in _fieldsToNormalize) + foreach (FieldInfoEx fieldInfo in _fieldsToNormalize) { - _size += field.Normalizer.Size; + _size += fieldInfo.Normalizer.Size; } return _size; } From 29049f1bace9356e4bd935594b5f74e82c9c093e Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:23:23 -0400 Subject: [PATCH 18/23] - Added .NET 10 as a target framework/runtime to build and run tests. --- eng/pipelines/dotnet-sqlclient-ci-core.yml | 30 ++++++++++++++-------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index 16b89e1000..de5be0528d 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -9,15 +9,23 @@ parameters: type: boolean default: false +# The target frameworks to build and run tests for on Windows. +# +# This is _not_ the target frameworks to build the driver packages for. +# - name: targetFrameworks displayName: 'Target Frameworks on Windows' type: object - default: [net462, net8.0, net9.0] - -- name: targetFrameworksLinux - displayName: 'Target Frameworks on Non-Windows' + default: [net462, net8.0, net9.0, net10.0] + +# The target frameworks to build and run tests for on Unix. +# +# This is _not_ the target frameworks to build the driver packages for. +# +- name: targetFrameworksUnix + displayName: 'Target Frameworks on Unix' type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: netcoreVersionTestUtils displayName: 'Netcore Version for Test Utilities' @@ -53,10 +61,12 @@ parameters: type: string default: https://sqlclientdrivers.pkgs.visualstudio.com/ADO.Net/_packaging/SNIValidation/nuget/v3/index.json +# Frameworks to expect code coverage information for, and to compile into +# reports. - name: codeCovTargetFrameworks displayName: 'Code Coverage Target Frameworks' type: object - default: [net462, net8.0, net9.0] + default: [net462, net8.0, net9.0, net10.0] - name: buildType displayName: 'Build Type' @@ -431,7 +441,7 @@ stages: images: Ubuntu20_Sql22: ADO-UB20-SQL22 # drop testing against UB20 image post April 2025 Ubuntu22_Sql22: ADO-UB22-SQL22 - TargetFrameworks: ${{parameters.targetFrameworksLinux }} + TargetFrameworks: ${{parameters.targetFrameworksUnix }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: [AnyCPU] testSets: ${{parameters.testSets }} @@ -456,7 +466,7 @@ stages: pool: ${{parameters.defaultPoolName }} images: Ubuntu22_Azure_Sql: ADO-UB22-SQL22 - TargetFrameworks: ${{parameters.targetFrameworksLinux }} + TargetFrameworks: ${{parameters.targetFrameworksUnix }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: [AnyCPU] testSets: ${{parameters.testSets }} @@ -488,7 +498,7 @@ stages: pool: ADO-CI-AE-1ES-Pool images: Ubuntu20_Enclave_Sql19: ADO-UB22-Sql22 - TargetFrameworks: ${{parameters.targetFrameworksLinux }} + TargetFrameworks: ${{parameters.targetFrameworksUnix }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: [AnyCPU] testSets: [AE] @@ -518,7 +528,7 @@ stages: hostedPool: true images: MacOSLatest_Sql22: macos-latest - TargetFrameworks: ${{parameters.targetFrameworksLinux }} + TargetFrameworks: ${{parameters.targetFrameworksUnix }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: [AnyCPU] testSets: ${{parameters.testSets }} From 2b6e2607c34605803f58b113860918810cbe018f Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:27:47 -0400 Subject: [PATCH 19/23] - Fixed target frameworks for Unix parameters. --- eng/pipelines/dotnet-sqlclient-ci-core.yml | 4 ++-- ...qlclient-ci-package-reference-pipeline.yml | 20 +++++++++++++------ ...qlclient-ci-project-reference-pipeline.yml | 20 +++++++++++++------ .../sqlclient-pr-project-ref-pipeline.yml | 20 +++++++++++++------ 4 files changed, 44 insertions(+), 20 deletions(-) diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index de5be0528d..fe323ed722 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -11,7 +11,7 @@ parameters: # The target frameworks to build and run tests for on Windows. # -# This is _not_ the target frameworks to build the driver packages for. +# These are _not_ the target frameworks to build the driver packages for. # - name: targetFrameworks displayName: 'Target Frameworks on Windows' @@ -20,7 +20,7 @@ parameters: # The target frameworks to build and run tests for on Unix. # -# This is _not_ the target frameworks to build the driver packages for. +# These are _not_ the target frameworks to build the driver packages for. # - name: targetFrameworksUnix displayName: 'Target Frameworks on Unix' diff --git a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml index d5cda056b4..731d908b53 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml @@ -124,15 +124,23 @@ parameters: type: boolean default: false + # The target frameworks to build and run tests for on Windows. + # + # These are _not_ the target frameworks to build the driver packages for. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] - - - name: targetFrameworksLinux - displayName: Target Frameworks on Non-Windows + default: [net462, net8.0, net9.0, net10.0] + + # The target frameworks to build and run tests for on Unix. + # + # These are _not_ the target frameworks to build the driver packages for. + # + - name: targetFrameworksUnix + displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets @@ -162,7 +170,7 @@ extends: debug: ${{ parameters.debug }} enableStressTests: ${{ parameters.enableStressTests }} targetFrameworks: ${{ parameters.targetFrameworks }} - targetFrameworksLinux: ${{ parameters.targetFrameworksLinux }} + targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }} testSets: ${{ parameters.testSets }} # Populate the actual test job timeout numeric values if Default was # specified. We choose different values depending on the build diff --git a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml index 00b6dbc4d6..27d12eb344 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml @@ -124,15 +124,23 @@ parameters: type: boolean default: false + # The target frameworks to build and run tests for on Windows. + # + # These are _not_ the target frameworks to build the driver packages for. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] - - - name: targetFrameworksLinux - displayName: Target Frameworks on Non-Windows + default: [net462, net8.0, net9.0, net10.0] + + # The target frameworks to build and run tests for on Unix. + # + # These are _not_ the target frameworks to build the driver packages for. + # + - name: targetFrameworksUnix + displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets @@ -162,7 +170,7 @@ extends: debug: ${{ parameters.debug }} enableStressTests: ${{ parameters.enableStressTests }} targetFrameworks: ${{ parameters.targetFrameworks }} - targetFrameworksLinux: ${{ parameters.targetFrameworksLinux }} + targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }} testSets: ${{ parameters.testSets }} # Populate the actual test job timeout numeric values if Default was # specified. We choose different values depending on the build diff --git a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml index ba3588195a..ff5a8c24ea 100644 --- a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml @@ -81,15 +81,23 @@ parameters: type: boolean default: false + # The target frameworks to build and run tests for on Windows. + # + # These are _not_ the target frameworks to build the driver packages for. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] - - - name: targetFrameworksLinux - displayName: Target Frameworks on Non-Windows + default: [net462, net8.0, net9.0, net10.0] + + # The target frameworks to build and run tests for on Unix. + # + # These are _not_ the target frameworks to build the driver packages for. + # + - name: targetFrameworksUnix + displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets @@ -119,7 +127,7 @@ extends: debug: ${{ parameters.debug }} enableStressTests: ${{ parameters.enableStressTests }} targetFrameworks: ${{ parameters.targetFrameworks }} - targetFrameworksLinux: ${{ parameters.targetFrameworksLinux }} + targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }} testSets: ${{ parameters.testSets }} # Populate the actual test job timeout numeric values if Default was # specified. We choose different values depending on the build From 38332f340100985b1ed11f96fb68b45e023728e4 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Tue, 2 Dec 2025 14:30:30 -0400 Subject: [PATCH 20/23] - Fixed target frameworks for Unix parameters. --- .../sqlclient-pr-package-ref-pipeline.yml | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml index 0b7d8058b0..00fe13e568 100644 --- a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml @@ -81,15 +81,23 @@ parameters: type: boolean default: false + # The target frameworks to build and run tests for on Windows. + # + # These are _not_ the target frameworks to build the driver packages for. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0] - - - name: targetFrameworksLinux - displayName: Target Frameworks on Non-Windows + default: [net462, net8.0, net9.0, net10.0] + + # The target frameworks to build and run tests for on Unix. + # + # These are _not_ the target frameworks to build the driver packages for. + # + - name: targetFrameworksUnix + displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0] + default: [net8.0, net9.0, net10.0] - name: testSets displayName: Test Sets @@ -119,7 +127,7 @@ extends: debug: ${{ parameters.debug }} enableStressTests: ${{ parameters.enableStressTests }} targetFrameworks: ${{ parameters.targetFrameworks }} - targetFrameworksLinux: ${{ parameters.targetFrameworksLinux }} + targetFrameworksUnix: ${{ parameters.targetFrameworksUnix }} testSets: ${{ parameters.testSets }} # Populate the actual test job timeout numeric values if Default was # specified. We choose different values depending on the build From 31ba79c5f12b077d1e6d2fb4e3c1cfab78dc1c93 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Wed, 3 Dec 2025 08:38:13 -0400 Subject: [PATCH 21/23] - Removed .NET 10 from PR pipeline test runs; it remains for CI pipeline test runs. - Removed unnecessary System.Text.Json and Microsoft.Win32.Registry package dependencies that were causing pruning warnings. - Updated MDS .nuspec dependencies to match what we actually depend on. --- Directory.Packages.props | 4 +--- eng/pipelines/dotnet-sqlclient-ci-core.yml | 6 +++--- eng/pipelines/sqlclient-pr-package-ref-pipeline.yml | 10 ++++++++-- eng/pipelines/sqlclient-pr-project-ref-pipeline.yml | 10 ++++++++-- src/Directory.Build.props | 2 +- .../netcore/ref/Microsoft.Data.SqlClient.csproj | 5 ----- .../netcore/src/Microsoft.Data.SqlClient.csproj | 5 ----- .../netfx/src/Microsoft.Data.SqlClient.csproj | 4 ---- ...crosoft.Data.SqlClient.ManualTesting.Tests.csproj | 3 --- tools/specs/Microsoft.Data.SqlClient.nuspec | 12 +++--------- 10 files changed, 24 insertions(+), 37 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 755adf6c26..c81e4acd16 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -31,7 +31,6 @@ - @@ -69,13 +68,11 @@ - - @@ -90,6 +87,7 @@ + diff --git a/eng/pipelines/dotnet-sqlclient-ci-core.yml b/eng/pipelines/dotnet-sqlclient-ci-core.yml index fe323ed722..77ee594aaf 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-core.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-core.yml @@ -320,7 +320,7 @@ stages: windows_sql_22_named_instance: pool: ${{parameters.defaultPoolName }} images: - Win22_Sql22_named_instance: ADO-MMS22-SQL22-WITH-NAMED-INSTANCE + Win22_Sql22_Named_Instance: ADO-MMS22-SQL22-WITH-NAMED-INSTANCE TargetFrameworks: ${{parameters.targetFrameworks }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: ${{parameters.buildPlatforms }} @@ -344,7 +344,7 @@ stages: pool: ${{parameters.defaultPoolName }} images: Win22_Azure_Sql: ADO-MMS22-SQL19 - win11_Azure_Sql: ADO-CI-Win11 + Win11_Azure_Sql: ADO-CI-Win11 TargetFrameworks: ${{parameters.targetFrameworks }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: ${{parameters.buildPlatforms }} @@ -376,7 +376,7 @@ stages: windows_azure_arm64_sql: pool: ADO-CI-PUBLIC-ARM64-1ES-EUS-POOL images: - Win22_Azure_ARM64_Sql: ADO-WIN11-ARM64 + Win11_ARM64_Azure_Sql: ADO-WIN11-ARM64 TargetFrameworks: ${{parameters.targetFrameworks }} netcoreVersionTestUtils: ${{parameters.netcoreVersionTestUtils }} buildPlatforms: ${{parameters.buildPlatforms }} diff --git a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml index 00fe13e568..bc88cb5f38 100644 --- a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml @@ -85,19 +85,25 @@ parameters: # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] # The target frameworks to build and run tests for on Unix. # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0. + # - name: targetFrameworksUnix displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets diff --git a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml index ff5a8c24ea..2fc0cad210 100644 --- a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml @@ -85,19 +85,25 @@ parameters: # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] # The target frameworks to build and run tests for on Unix. # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs. The periodic CI pipeline runs include .NET 10.0. + # - name: targetFrameworksUnix displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 76e8174fc3..16535cf9a7 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -99,7 +99,7 @@ error. This list should be used sparingly to avoid important warnings being ignored. --> - NU1510 + - - - - diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index e5ad585d1e..6332d1d8c4 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -1106,11 +1106,6 @@ - - - - - diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj index 4bfe45ee72..6581c73369 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj @@ -54,10 +54,6 @@ True True None - - - MinimumRecommendedRules.ruleset - True True $(DefineConstants);USEOFFSET;CODE_ANALYSIS_BASELINE;FEATURE_LEGACYSURFACEAREA;FEATURE_UTF32;FEATURE_UTF7;TRACE; diff --git a/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTesting.Tests.csproj b/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTesting.Tests.csproj index bfa2080260..c59bcd6243 100644 --- a/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTesting.Tests.csproj +++ b/src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTesting.Tests.csproj @@ -331,9 +331,6 @@ - - - diff --git a/tools/specs/Microsoft.Data.SqlClient.nuspec b/tools/specs/Microsoft.Data.SqlClient.nuspec index 6e19ec087b..f52435553f 100644 --- a/tools/specs/Microsoft.Data.SqlClient.nuspec +++ b/tools/specs/Microsoft.Data.SqlClient.nuspec @@ -37,13 +37,13 @@ - - + + @@ -55,23 +55,19 @@ - - - + - - @@ -83,9 +79,7 @@ - - From 0575bf25074f5dd73408b02eab9ed61dda0b5992 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Wed, 3 Dec 2025 09:44:20 -0400 Subject: [PATCH 22/23] - Removed unnecessary System.Text.Web.Encodings package from AKV. --- ...SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj index 2ee7734847..8bdb0e520a 100644 --- a/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj +++ b/src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider.csproj @@ -39,10 +39,4 @@ - - - - - - - + From dec7e69a4eb33d94a62200a8766e459c225a8bae Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Wed, 3 Dec 2025 15:53:14 -0400 Subject: [PATCH 23/23] - Added back a few packages specifically for .NET Framework and Standard 2.0. - Removed some unused packages. - Removed .NET 10 targets from CI pipeline runs. --- Directory.Packages.props | 4 +--- ...otnet-sqlclient-ci-package-reference-pipeline.yml | 12 ++++++++++-- ...otnet-sqlclient-ci-project-reference-pipeline.yml | 12 ++++++++++-- .../netcore/ref/Microsoft.Data.SqlClient.csproj | 6 +++--- .../netfx/ref/Microsoft.Data.SqlClient.csproj | 3 +-- .../netfx/src/Microsoft.Data.SqlClient.csproj | 2 +- .../src/Microsoft.Data.SqlClient.csproj | 1 - .../Microsoft.Data.SqlClient.ExtUtilities.csproj | 5 ----- tools/specs/Microsoft.Data.SqlClient.nuspec | 3 ++- 9 files changed, 28 insertions(+), 20 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index c81e4acd16..c339554838 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -61,7 +61,6 @@ - @@ -83,10 +82,9 @@ - - + diff --git a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml index 731d908b53..6c2f4ea169 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml @@ -128,19 +128,27 @@ parameters: # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs, and until we update our 1ES images to include + # Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] # The target frameworks to build and run tests for on Unix. # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs, and until we update our 1ES images to include + # Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10. + # - name: targetFrameworksUnix displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets diff --git a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml index 27d12eb344..d83e65dcb0 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml @@ -128,19 +128,27 @@ parameters: # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs, and until we update our 1ES images to include + # Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10. + # - name: targetFrameworks displayName: Target Frameworks on Windows type: object - default: [net462, net8.0, net9.0, net10.0] + default: [net462, net8.0, net9.0] # The target frameworks to build and run tests for on Unix. # # These are _not_ the target frameworks to build the driver packages for. # + # Note: We are excluding .NET 10.0 here to avoid consuming too many resources + # during PR pipeline runs, and until we update our 1ES images to include + # Visual Studio 2026 (18.0) whose MSBuild SDK supports .NET 10. + # - name: targetFrameworksUnix displayName: Target Frameworks on Unix type: object - default: [net8.0, net9.0, net10.0] + default: [net8.0, net9.0] - name: testSets displayName: Test Sets diff --git a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj index 5a353c5440..e6ffc2526b 100644 --- a/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj @@ -42,11 +42,11 @@ - - - + + + diff --git a/src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj index bb619340db..1d9c1985bd 100644 --- a/src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj @@ -43,10 +43,9 @@ - + - diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj index 6581c73369..fc00117bd7 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj @@ -1061,8 +1061,8 @@ + - diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj index ad1369913b..f428f19b20 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj @@ -21,7 +21,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj b/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj index ecd21edd05..6d84a14da8 100644 --- a/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj +++ b/src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj @@ -6,11 +6,6 @@ - - diff --git a/tools/specs/Microsoft.Data.SqlClient.nuspec b/tools/specs/Microsoft.Data.SqlClient.nuspec index f52435553f..9cb42a9ed6 100644 --- a/tools/specs/Microsoft.Data.SqlClient.nuspec +++ b/tools/specs/Microsoft.Data.SqlClient.nuspec @@ -39,8 +39,8 @@ + - @@ -80,6 +80,7 @@ +