diff --git a/.ci/build-steps.yml b/.ci/build-steps.yml
index b3d6d0895..95e8d67a6 100644
--- a/.ci/build-steps.yml
+++ b/.ci/build-steps.yml
@@ -27,52 +27,52 @@ steps:
   displayName: 'Publish MySqlConnector.Tests'
   inputs:
     command: 'publish'
-    arguments: '-c Release -f net9.0 --no-build tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj'
+    arguments: '-c Release -f net10.0 --no-build tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj'
     publishWebProjects: false
     zipAfterPublish: false
 - task: PublishPipelineArtifact@1
   inputs:
-    artifact: 'MySqlConnector.Tests-9.0-$(Agent.OS)'
-    targetPath: 'artifacts/publish/MySqlConnector.Tests/release_net9.0'
+    artifact: 'MySqlConnector.Tests-10.0-$(Agent.OS)'
+    targetPath: 'artifacts/publish/MySqlConnector.Tests/release_net10.0'
     publishLocation: 'pipeline'
 
 - task: DotNetCoreCLI@2
   displayName: 'Publish Conformance.Tests'
   inputs:
     command: 'publish'
-    arguments: '-c Release -f net9.0 --no-build tests/Conformance.Tests/Conformance.Tests.csproj'
+    arguments: '-c Release -f net10.0 --no-build tests/Conformance.Tests/Conformance.Tests.csproj'
     publishWebProjects: false
     zipAfterPublish: false
 - task: PublishPipelineArtifact@1
   inputs:
-    artifact: 'Conformance.Tests-9.0-$(Agent.OS)'
-    targetPath: 'artifacts/publish/Conformance.Tests/release_net9.0'
+    artifact: 'Conformance.Tests-10.0-$(Agent.OS)'
+    targetPath: 'artifacts/publish/Conformance.Tests/release_net10.0'
     publishLocation: 'pipeline'
 
 - task: DotNetCoreCLI@2
   displayName: 'Publish MySqlConnector.DependencyInjection.Tests'
   inputs:
     command: 'publish'
-    arguments: '-c Release -f net9.0 --no-build tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj'
+    arguments: '-c Release -f net10.0 --no-build tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj'
     publishWebProjects: false
     zipAfterPublish: false
 - task: PublishPipelineArtifact@1
   inputs:
-    artifact: 'MySqlConnector.DependencyInjection.Tests-9.0-$(Agent.OS)'
-    targetPath: 'artifacts/publish/MySqlConnector.DependencyInjection.Tests/release_net9.0'
+    artifact: 'MySqlConnector.DependencyInjection.Tests-10.0-$(Agent.OS)'
+    targetPath: 'artifacts/publish/MySqlConnector.DependencyInjection.Tests/release_net10.0'
     publishLocation: 'pipeline'
 
 - task: DotNetCoreCLI@2
-  displayName: 'Publish IntegrationTests (9.0)'
+  displayName: 'Publish IntegrationTests (10.0)'
   inputs:
     command: 'publish'
-    arguments: '-c Release -f net9.0 --no-build tests/IntegrationTests/IntegrationTests.csproj'
+    arguments: '-c Release -f net10.0 --no-build tests/IntegrationTests/IntegrationTests.csproj'
     publishWebProjects: false
     zipAfterPublish: false
 - task: PublishPipelineArtifact@1
   inputs:
-    artifact: 'IntegrationTests-net9.0-$(Agent.OS)'
-    targetPath: 'artifacts/publish/IntegrationTests/release_net9.0'
+    artifact: 'IntegrationTests-net10.0-$(Agent.OS)'
+    targetPath: 'artifacts/publish/IntegrationTests/release_net10.0'
     publishLocation: 'pipeline'
 
 - task: DotNetCoreCLI@2
diff --git a/.ci/conformance-test-steps.yml b/.ci/conformance-test-steps.yml
index 87cdf035e..fd6d13992 100644
--- a/.ci/conformance-test-steps.yml
+++ b/.ci/conformance-test-steps.yml
@@ -11,7 +11,7 @@ steps:
   condition: always()
   inputs:
     buildType: 'current'
-    artifactName: 'Conformance.Tests-9.0-$(Agent.OS)'
+    artifactName: 'Conformance.Tests-10.0-$(Agent.OS)'
     targetPath: '$(Build.BinariesDirectory)/9.0'
 - task: DotNetCoreCLI@2
   displayName: 'Conformance Tests'
diff --git a/.ci/integration-tests-steps.yml b/.ci/integration-tests-steps.yml
index db26b23ed..9b6dd8a0f 100644
--- a/.ci/integration-tests-steps.yml
+++ b/.ci/integration-tests-steps.yml
@@ -45,12 +45,12 @@ steps:
     image: ${{ parameters.image }}
     unsupportedFeatures: ${{ parameters.unsupportedFeatures }}
     connectionString: 'server=localhost;port=3300;user id=mysqltest;password=test;database=mysqltest;ssl mode=none;DefaultCommandTimeout=3600;${{ parameters.connectionStringExtra }}'
-    platform: 'net9.0'
+    platform: 'net10.0'
     description: 'No SSL'
 - template: 'integration-test-steps.yml'
   parameters:
     image: ${{ parameters.image }}
     unsupportedFeatures: ${{ parameters.unsupportedFeatures }}
     connectionString: server=localhost;port=3300;user id=mysqltest;password=test;database=mysqltest;ssl mode=required;DefaultCommandTimeout=3600;certificate file=$(Build.Repository.LocalPath)/.ci/server/certs/ssl-client.pfx;${{ parameters.connectionStringExtra }}
-    platform: 'net9.0'
+    platform: 'net10.0'
     description: 'SSL'
diff --git a/.ci/mysqlconnector-tests-steps.yml b/.ci/mysqlconnector-tests-steps.yml
index 0ddc01fc9..b4d422ccc 100644
--- a/.ci/mysqlconnector-tests-steps.yml
+++ b/.ci/mysqlconnector-tests-steps.yml
@@ -7,7 +7,7 @@ steps:
 - task: DownloadPipelineArtifact@2
   inputs:
     buildType: 'current'
-    artifactName: 'MySqlConnector.Tests-9.0-$(Agent.OS)'
+    artifactName: 'MySqlConnector.Tests-10.0-$(Agent.OS)'
     targetPath: $(System.DefaultWorkingDirectory)
 - task: DotNetCoreCLI@2
   displayName: 'Run MySqlConnector.Tests'
@@ -18,7 +18,7 @@ steps:
 - task: DownloadPipelineArtifact@2
   inputs:
     buildType: 'current'
-    artifactName: 'MySqlConnector.DependencyInjection.Tests-9.0-$(Agent.OS)'
+    artifactName: 'MySqlConnector.DependencyInjection.Tests-10.0-$(Agent.OS)'
     targetPath: $(System.DefaultWorkingDirectory)
 - task: DotNetCoreCLI@2
   displayName: 'Run MySqlConnector.DependencyInjection.Tests'
@@ -30,4 +30,4 @@ steps:
   inputs:
     testResultsFormat: VSTest
     testResultsFiles: '**/*.trx'
-    testRunTitle: 'MySqlConnector.Tests-9.0-$(Agent.OS)'
+    testRunTitle: 'MySqlConnector.Tests-10.0-$(Agent.OS)'
diff --git a/.ci/test.ps1 b/.ci/test.ps1
index 7d595e35e..40c3615f8 100644
--- a/.ci/test.ps1
+++ b/.ci/test.ps1
@@ -38,7 +38,7 @@ dotnet test -c Release -f net462
 if ($LASTEXITCODE -ne 0){
     exit $LASTEXITCODE;
 }
-dotnet test -c Release -f net9.0
+dotnet test -c Release -f net10.0
 if ($LASTEXITCODE -ne 0){
     exit $LASTEXITCODE;
 }
diff --git a/.editorconfig b/.editorconfig
index 4a511abec..13ff74547 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -83,6 +83,7 @@ dotnet_diagnostic.CA1510.severity = none # Use ArgumentNullException.ThrowIfNull
 dotnet_diagnostic.CA1513.severity = none # Use ObjectDisposedException.ThrowIf.
 dotnet_diagnostic.CA1849.severity = none # Call async methods when in an async method.
 dotnet_diagnostic.CA2000.severity = none # Use recommended Dispose pattern.
+dotnet_diagnostic.CA2025.severity = none # Do not pass 'IDisposable' instances into unawaited tasks - https://github.com/dotnet/roslyn-analyzers/issues/7652#issuecomment-2961614195
 dotnet_diagnostic.CA2100.severity = none # Review SQL queries for security vulnerabilities.
 dotnet_diagnostic.CA2213.severity = silent # Disposable fields should be disposed.
 dotnet_diagnostic.CA5398.severity = none # Avoid hardcoded SslProtocols values.
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b9995083e..df40bfae3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -32,7 +32,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        tfm: [ 'net8.0', 'net9.0' ]
+        tfm: [ 'net8.0', 'net10.0' ]
     services:
       mysql:
         image: mysql:9.4
diff --git a/Directory.Build.props b/Directory.Build.props
index 10bca8b48..51cd9b224 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <LangVersion>preview</LangVersion>
+    <LangVersion>13.0</LangVersion>
     <AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
     <NoWarn>$(NoWarn);1591;CA1708;CA1835;CA2215;CA5397;NU5105;SYSLIB0039</NoWarn>
     <ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
diff --git a/appveyor.yml b/appveyor.yml
index ef905dcaa..e8dae43f0 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -9,7 +9,7 @@ install:
   - ps: Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile "install-dotnet.ps1"
   - ps: .\install-dotnet.ps1 -Channel 6.0 -InstallDir "dotnetcli"
   - ps: .\install-dotnet.ps1 -Channel 8.0 -InstallDir "dotnetcli"
-  - ps: .\install-dotnet.ps1 -Channel 9.0 -InstallDir "dotnetcli"
+  - ps: .\install-dotnet.ps1 -Channel 10.0 -InstallDir "dotnetcli"
 build_script:
 - dotnet --info
 before_test:
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index e579d4de3..5ad080bc0 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,5 +1,5 @@
 variables:
-  DotNetCoreSdkVersion: '9.x'
+  DotNetCoreSdkVersion: '10.x'
   NUGET_PACKAGES: '$(Pipeline.Workspace)/.nuget/packages'
 
 jobs:
@@ -107,18 +107,18 @@ jobs:
     displayName: 'Remove target frameworks'
     inputs:
       targetType: 'inline'
-      script: '((Get-Content .\tests\IntegrationTests\IntegrationTests.csproj -Raw) -replace(''<TargetFrameworks>.*</TargetFrameworks>'', ''<TargetFrameworks>net481;net9.0</TargetFrameworks>'')) | Set-Content .\tests\IntegrationTests\IntegrationTests.csproj'
+      script: '((Get-Content .\tests\IntegrationTests\IntegrationTests.csproj -Raw) -replace(''<TargetFrameworks>.*</TargetFrameworks>'', ''<TargetFrameworks>net481;net10.0</TargetFrameworks>'')) | Set-Content .\tests\IntegrationTests\IntegrationTests.csproj'
   - task: DotNetCoreCLI@2
     displayName: 'Restore packages'
     inputs:
       command: 'restore'
   - task: DotNetCoreCLI@2
-    displayName: 'Integration tests (net481/net9.0)'
+    displayName: 'Integration tests (net481/net10.0)'
     inputs:
       command: 'test'
       projects: 'tests/IntegrationTests/IntegrationTests.csproj'
       arguments: '-c Release --no-restore -p:TestTfmsInParallel=false'
-      testRunTitle: ${{ format('{0}, $(Agent.OS), {1}, {2}', 'mysql:8.0', 'net481/net9.0', 'No SSL') }}
+      testRunTitle: ${{ format('{0}, $(Agent.OS), {1}, {2}', 'mysql:8.0', 'net481/net10.0', 'No SSL') }}
     env:
       DATA__UNSUPPORTEDFEATURES: 'Ed25519,QueryAttributes,ParsecAuthentication,Redirection,StreamingResults,Tls11,TlsFingerprintValidation,UnixDomainSocket,Vector'
       DATA__CONNECTIONSTRING: 'server=localhost;port=3306;user id=mysqltest;password=test;database=mysqltest;ssl mode=none;DefaultCommandTimeout=3600;AllowPublicKeyRetrieval=True;UseCompression=True'
diff --git a/global.json b/global.json
index a02bac5a2..9575d0c8b 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
 {
   "sdk": {
-    "version": "9.0.200",
+    "version": "10.0.100-preview.6",
     "rollForward": "latestFeature"
   }
 }
diff --git a/src/MySqlConnector/Logging/Log.cs b/src/MySqlConnector/Logging/Log.cs
index e9b4f88bc..b5cbbed1b 100644
--- a/src/MySqlConnector/Logging/Log.cs
+++ b/src/MySqlConnector/Logging/Log.cs
@@ -166,10 +166,10 @@ internal static partial class Log
 #if NETCOREAPP3_0_OR_GREATER
 	[LoggerMessage(EventIds.ConnectedTlsBasic, LogLevel.Debug, "Session {SessionId} connected TLS using {SslProtocol} and {NegotiatedCipherSuite}")]
 	public static partial void ConnectedTlsBasic(ILogger logger, string sessionId, SslProtocols sslProtocol, TlsCipherSuite negotiatedCipherSuite);
-#endif
-
+#else
 	[LoggerMessage(EventIds.ConnectedTlsDetailed, LogLevel.Debug, "Session {SessionId} connected TLS using {SslProtocol}, {CipherAlgorithm}, {HashAlgorithm}, {KeyExchangeAlgorithm}, {KeyExchangeStrength}")]
 	public static partial void ConnectedTlsDetailed(ILogger logger, string sessionId, SslProtocols sslProtocol, CipherAlgorithmType cipherAlgorithm, HashAlgorithmType hashAlgorithm, ExchangeAlgorithmType keyExchangeAlgorithm, int keyExchangeStrength);
+#endif
 
 	[LoggerMessage(EventIds.CouldNotInitializeTlsConnection, LogLevel.Error, "Session {SessionId} couldn't initialize TLS connection")]
 	public static partial void CouldNotInitializeTlsConnection(ILogger logger, Exception exception, string sessionId);
@@ -204,10 +204,10 @@ internal static partial class Log
 #if NETCOREAPP3_0_OR_GREATER
 	[LoggerMessage(EventIds.ConnectedTlsBasicPreliminary, LogLevel.Debug, "Session {SessionId} provisionally connected TLS with error {SslPolicyErrors} using {SslProtocol} and {NegotiatedCipherSuite}")]
 	public static partial void ConnectedTlsBasicPreliminary(ILogger logger, string sessionId, SslPolicyErrors sslPolicyErrors, SslProtocols sslProtocol, TlsCipherSuite negotiatedCipherSuite);
-#endif
-
+#else
 	[LoggerMessage(EventIds.ConnectedTlsDetailedPreliminary, LogLevel.Debug, "Session {SessionId} provisionally connected TLS with error {SslPolicyErrors} using {SslProtocol}, {CipherAlgorithm}, {HashAlgorithm}, {KeyExchangeAlgorithm}, {KeyExchangeStrength}")]
 	public static partial void ConnectedTlsDetailedPreliminary(ILogger logger, string sessionId, SslPolicyErrors sslPolicyErrors, SslProtocols sslProtocol, CipherAlgorithmType cipherAlgorithm, HashAlgorithmType hashAlgorithm, ExchangeAlgorithmType keyExchangeAlgorithm, int keyExchangeStrength);
+#endif
 
 	[LoggerMessage(EventIds.CertificateErrorUnixSocket, LogLevel.Trace, "Session {SessionId} ignoring remote certificate error {SslPolicyErrors} due to Unix socket connection")]
 	public static partial void CertificateErrorUnixSocket(ILogger logger, string sessionId, SslPolicyErrors sslPolicyErrors);
diff --git a/src/MySqlConnector/MySqlConnector.csproj b/src/MySqlConnector/MySqlConnector.csproj
index 023a6e28e..0baa1a010 100644
--- a/src/MySqlConnector/MySqlConnector.csproj
+++ b/src/MySqlConnector/MySqlConnector.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>net462;net471;net48;netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0</TargetFrameworks>
+    <TargetFrameworks>net462;net471;net48;netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0;net10.0</TargetFrameworks>
     <Description>A truly async MySQL ADO.NET provider, supporting MySQL Server, MariaDB, Amazon Aurora, Azure Database for MySQL, Google Cloud SQL, and more.</Description>
     <Copyright>Copyright 2016–2024 Bradley Grainger</Copyright>
     <Authors>Bradley Grainger</Authors>
diff --git a/tests/Benchmark/Benchmark.csproj b/tests/Benchmark/Benchmark.csproj
index 0fc9f463a..216601607 100644
--- a/tests/Benchmark/Benchmark.csproj
+++ b/tests/Benchmark/Benchmark.csproj
@@ -2,7 +2,6 @@
   <PropertyGroup>
     <OutputType>Exe</OutputType>
     <TargetFramework>net8.0</TargetFramework>
-    <LangVersion>12.0</LangVersion>
     <ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
   </PropertyGroup>
   <ItemGroup>
diff --git a/tests/Conformance.Tests/Conformance.Tests.csproj b/tests/Conformance.Tests/Conformance.Tests.csproj
index e2a4ca928..8e24e47e9 100644
--- a/tests/Conformance.Tests/Conformance.Tests.csproj
+++ b/tests/Conformance.Tests/Conformance.Tests.csproj
@@ -1,13 +1,12 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
  <PropertyGroup>
-    <TargetFrameworks>net9.0</TargetFrameworks>
+    <TargetFrameworks>net10.0</TargetFrameworks>
     <VersionPrefix>0.1.0</VersionPrefix>
     <SignAssembly>true</SignAssembly>
     <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
     <AssemblyOriginatorKeyFile>..\..\MySqlConnector.snk</AssemblyOriginatorKeyFile>
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-   <LangVersion>11.0</LangVersion>
   </PropertyGroup>
 
  <ItemGroup>
diff --git a/tests/IntegrationTests/IntegrationTests.csproj b/tests/IntegrationTests/IntegrationTests.csproj
index bb388f662..c3a0d6346 100644
--- a/tests/IntegrationTests/IntegrationTests.csproj
+++ b/tests/IntegrationTests/IntegrationTests.csproj
@@ -1,12 +1,12 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup Condition=" '$(Configuration)' != 'MySqlData' ">
-    <TargetFrameworks>net462;net481;net6.0;net8.0;net9.0</TargetFrameworks>
+    <TargetFrameworks>net462;net481;net6.0;net8.0;net10.0</TargetFrameworks>
     <CheckEolTargetFramework>false</CheckEolTargetFramework>
   </PropertyGroup>
 
   <PropertyGroup Condition=" '$(Configuration)' == 'MySqlData' ">
-    <TargetFrameworks>net9.0</TargetFrameworks>
+    <TargetFrameworks>net10.0</TargetFrameworks>
     <DefineConstants>MYSQL_DATA</DefineConstants>
     <NoWarn>$(NoWarn);MSB3246</NoWarn>
   </PropertyGroup>
@@ -23,7 +23,6 @@
     <ServerGarbageCollection>true</ServerGarbageCollection>
     <ConcurrentGarbageCollection>true</ConcurrentGarbageCollection>
     <ThreadPoolMinThreads>64</ThreadPoolMinThreads>
-    <LangVersion>11.0</LangVersion>
     <ImplicitUsings>enable</ImplicitUsings>
     <NoWarn>$(NoWarn);SA0001;SA1021;SA1133;xUnit1030</NoWarn>
   </PropertyGroup>
@@ -41,7 +40,6 @@
     <PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
     <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
     <PackageReference Include="Microsoft.Extensions.Configuration.Json" />
-    <PackageReference Include="System.Text.Json" />
     <Using Include="System" />
     <Using Include="System.Data" />
     <Using Include="System.Data.Common" />
diff --git a/tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj b/tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj
index ebeeef845..c14cde477 100644
--- a/tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj
+++ b/tests/MySqlConnector.DependencyInjection.Tests/MySqlConnector.DependencyInjection.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>net9.0</TargetFrameworks>
+    <TargetFrameworks>net10.0</TargetFrameworks>
     <SignAssembly>true</SignAssembly>
     <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
     <AssemblyOriginatorKeyFile>..\..\MySqlConnector.snk</AssemblyOriginatorKeyFile>
diff --git a/tests/MySqlConnector.NativeAot.Tests/MySqlConnector.NativeAot.Tests.csproj b/tests/MySqlConnector.NativeAot.Tests/MySqlConnector.NativeAot.Tests.csproj
index 3797dedb8..f9d651b2b 100644
--- a/tests/MySqlConnector.NativeAot.Tests/MySqlConnector.NativeAot.Tests.csproj
+++ b/tests/MySqlConnector.NativeAot.Tests/MySqlConnector.NativeAot.Tests.csproj
@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <TargetFrameworks>net8.0;net9.0</TargetFrameworks>
+    <TargetFrameworks>net8.0;net10.0</TargetFrameworks>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
     <PublishAot>true</PublishAot>
diff --git a/tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj b/tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj
index b375b14ae..ed06b6a88 100644
--- a/tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj
+++ b/tests/MySqlConnector.Tests/MySqlConnector.Tests.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup Condition=" '$(Configuration)' != 'MySqlData' ">
-    <TargetFrameworks>net481;net9.0</TargetFrameworks>
+    <TargetFrameworks>net481;net10.0</TargetFrameworks>
   </PropertyGroup>
 
  <PropertyGroup Condition=" '$(Configuration)' == 'MySqlData' ">
@@ -15,7 +15,6 @@
     <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
     <AssemblyOriginatorKeyFile>..\..\MySqlConnector.snk</AssemblyOriginatorKeyFile>
     <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <LangVersion>12.0</LangVersion>
     <NoWarn>$(NoWarn);SA1021</NoWarn>
   </PropertyGroup>
 
diff --git a/tools/SchemaCollectionGenerator/SchemaCollectionGenerator.csproj b/tools/SchemaCollectionGenerator/SchemaCollectionGenerator.csproj
index 85c1ed799..cfbfc836c 100644
--- a/tools/SchemaCollectionGenerator/SchemaCollectionGenerator.csproj
+++ b/tools/SchemaCollectionGenerator/SchemaCollectionGenerator.csproj
@@ -2,7 +2,7 @@
 
   <PropertyGroup>
     <OutputType>Exe</OutputType>
-    <TargetFramework>net9.0</TargetFramework>
+    <TargetFramework>net10.0</TargetFramework>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
