diff --git a/NuGet.config b/NuGet.config
index dc52e81a89d..feba8cfa5c3 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -4,7 +4,7 @@
-
+
@@ -19,7 +19,7 @@
-
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index e553088ea7b..36952c5c00c 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -29,9 +29,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
dcf4a22cf8671c1abe880ebec4cfd906c99588bf
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- fce8ed90dc43047eabec2b32c04ee46b789ad5d1
+ 574100b692e71fa3426931adf4c1ba42e4ee5213
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -45,32 +45,32 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
ef853a71052646a42abf17e888ec6d9a69614ad9
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- fce8ed90dc43047eabec2b32c04ee46b789ad5d1
+ 574100b692e71fa3426931adf4c1ba42e4ee5213
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- fce8ed90dc43047eabec2b32c04ee46b789ad5d1
+ 574100b692e71fa3426931adf4c1ba42e4ee5213
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- fce8ed90dc43047eabec2b32c04ee46b789ad5d1
+ 574100b692e71fa3426931adf4c1ba42e4ee5213
-
+
https://github.com/dotnet/arcade
- 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1
+ a5ec3fab69ac440afe6764b2e046af6e8fcafa74
-
+
https://github.com/dotnet/arcade
- 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1
+ a5ec3fab69ac440afe6764b2e046af6e8fcafa74
-
+
https://github.com/dotnet/arcade
- 2ce3f8c7b2614c2b19985b669ffcd934bc39ffd1
+ a5ec3fab69ac440afe6764b2e046af6e8fcafa74
diff --git a/eng/Versions.props b/eng/Versions.props
index 74c0bdb7fb9..99ecef98fa0 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -1,6 +1,6 @@
- 8.0.19
+ 8.0.20
servicing
@@ -24,16 +24,16 @@
8.0.1
8.0.1
8.0.2
- 8.0.19-servicing.25365.14
+ 8.0.20-servicing.25419.14
8.0.1
8.0.6
8.0.2
- 8.0.19
- 8.0.19
- 8.0.19-servicing.25365.14
+ 8.0.20
+ 8.0.20
+ 8.0.20-servicing.25419.14
- 8.0.0-beta.25310.3
+ 8.0.0-beta.25407.1
diff --git a/eng/common/templates-official/job/job.yml b/eng/common/templates-official/job/job.yml
index 98ccbd7a9c1..b98f6a6505d 100644
--- a/eng/common/templates-official/job/job.yml
+++ b/eng/common/templates-official/job/job.yml
@@ -21,6 +21,7 @@ parameters:
# See schema documentation - https://github.com/dotnet/arcade/blob/master/Documentation/AzureDevOps/TemplateSchema.md
artifacts: ''
enableMicrobuild: false
+ microbuildUseESRP: true
enablePublishBuildArtifacts: false
enablePublishBuildAssets: false
enablePublishTestResults: false
@@ -135,6 +136,11 @@ jobs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ${{ if eq(parameters.microbuildUseESRP, true) }}:
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
env:
TeamName: $(_TeamName)
MicroBuildOutputFolderOverride: '$(Agent.TempDirectory)'
diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml
index e295031c098..2856f7de106 100644
--- a/eng/common/templates/job/job.yml
+++ b/eng/common/templates/job/job.yml
@@ -134,6 +134,10 @@ jobs:
signType: $(_SignType)
zipSources: false
feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
+ ${{ if eq(variables['System.TeamProject'], 'DevDiv') }}:
+ ConnectedPMEServiceName: 6cc74545-d7b9-4050-9dfa-ebefcc8961ea
+ ${{ else }}:
+ ConnectedPMEServiceName: 248d384a-b39b-46e3-8ad5-c2c210d5e7ca
env:
TeamName: $(_TeamName)
continueOnError: ${{ parameters.continueOnError }}
diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1
index 82b2798ba30..bb048ad125a 100644
--- a/eng/common/tools.ps1
+++ b/eng/common/tools.ps1
@@ -417,7 +417,7 @@ function InitializeVisualStudioMSBuild([bool]$install, [object]$vsRequirements =
# Locate Visual Studio installation or download x-copy msbuild.
$vsInfo = LocateVisualStudio $vsRequirements
- if ($vsInfo -ne $null) {
+ if ($vsInfo -ne $null -and $env:ForceUseXCopyMSBuild -eq $null) {
# Ensure vsInstallDir has a trailing slash
$vsInstallDir = Join-Path $vsInfo.installationPath "\"
$vsMajorVersion = $vsInfo.installationVersion.Split('.')[0]
diff --git a/global.json b/global.json
index a2bd063cc42..fc7459ffcb1 100644
--- a/global.json
+++ b/global.json
@@ -1,11 +1,11 @@
{
"sdk": {
- "version": "8.0.117",
+ "version": "8.0.119",
"allowPrerelease": true,
"rollForward": "latestMajor"
},
"tools": {
- "dotnet": "8.0.117",
+ "dotnet": "8.0.119",
"runtimes": {
"dotnet": [
"$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
@@ -13,7 +13,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25310.3",
- "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25310.3"
+ "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.25407.1",
+ "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.25407.1"
}
}
diff --git a/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs
index ae8d9e3e47d..12b16333b33 100644
--- a/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs
+++ b/src/EFCore.Relational/Query/Internal/GroupBySplitQueryingEnumerable.cs
@@ -330,6 +330,19 @@ public void Dispose()
{
_relationalQueryContext.Connection.ReturnCommand(_relationalCommand!);
_dataReader.Dispose();
+
+ if (_resultCoordinator != null)
+ {
+ foreach (var dataReader in _resultCoordinator.DataReaders)
+ {
+ dataReader?.DataReader.Dispose();
+ }
+
+ _resultCoordinator.DataReaders.Clear();
+
+ _resultCoordinator = null;
+ }
+
_dataReader = null;
_dbDataReader = null;
}
@@ -503,20 +516,30 @@ private static async Task InitializeReaderAsync(AsyncEnumerator enumerator
return false;
}
- public ValueTask DisposeAsync()
+ public async ValueTask DisposeAsync()
{
- if (_dataReader is not null)
+ if (_dataReader != null)
{
_relationalQueryContext.Connection.ReturnCommand(_relationalCommand!);
+ await _dataReader.DisposeAsync().ConfigureAwait(false);
+
+ if (_resultCoordinator != null)
+ {
+ foreach (var dataReader in _resultCoordinator.DataReaders)
+ {
+ if (dataReader != null)
+ {
+ await dataReader.DataReader.DisposeAsync().ConfigureAwait(false);
+ }
+ }
+
+ _resultCoordinator.DataReaders.Clear();
+ _resultCoordinator = null;
+ }
- var dataReader = _dataReader;
_dataReader = null;
_dbDataReader = null;
-
- return dataReader.DisposeAsync();
}
-
- return default;
}
}
}
diff --git a/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs b/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs
index c87544d1120..830fbb25470 100644
--- a/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs
+++ b/src/EFCore.Relational/Query/Internal/SplitQueryingEnumerable.cs
@@ -251,6 +251,7 @@ public void Dispose()
{
_relationalQueryContext.Connection.ReturnCommand(_relationalCommand!);
_dataReader.Dispose();
+
if (_resultCoordinator != null)
{
foreach (var dataReader in _resultCoordinator.DataReaders)
@@ -407,6 +408,7 @@ public async ValueTask DisposeAsync()
{
_relationalQueryContext.Connection.ReturnCommand(_relationalCommand!);
await _dataReader.DisposeAsync().ConfigureAwait(false);
+
if (_resultCoordinator != null)
{
foreach (var dataReader in _resultCoordinator.DataReaders)