diff --git a/NuGet.config b/NuGet.config
index 1c2f27eb90ce..aa5c279af136 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -6,8 +6,10 @@
+
+
@@ -28,8 +30,10 @@
+
+
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index f1b0e807fea1..3769c18a21cb 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,117 +2,117 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -120,138 +120,138 @@
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
-
-
-
+
+
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
-
+
+
@@ -259,7 +259,7 @@
- 8.0.15
+ 8.0.16
@@ -268,51 +268,51 @@
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
-
+
+
@@ -322,8 +322,8 @@
-
-
+
+
@@ -331,8 +331,8 @@
-
-
+
+
@@ -343,58 +343,58 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
@@ -403,7 +403,7 @@
- 8.0.15
+ 8.0.16
@@ -411,71 +411,71 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
-
-
+
+
- 8.0.15
+ 8.0.16
@@ -491,27 +491,27 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
@@ -520,23 +520,23 @@
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -545,54 +545,54 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
-
+
+
-
-
+
+
-
-
+
+
- 8.0.15
+ 8.0.16
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -600,83 +600,83 @@
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
-
-
-
+
+
+
+
- 8.0.15
+ 8.0.16
@@ -685,64 +685,64 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -764,7 +764,7 @@
- 8.0.15
+ 8.0.16
@@ -786,7 +786,7 @@
- 8.0.15
+ 8.0.16
@@ -802,23 +802,23 @@
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
@@ -826,24 +826,24 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
-
-
+
+
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -853,7 +853,7 @@
- 8.0.15
+ 8.0.16
@@ -862,73 +862,73 @@
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
-
+
-
+
-
+
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -957,11 +957,11 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
@@ -979,18 +979,18 @@
- 8.0.15
+ 8.0.16
- 8.0.15
+ 8.0.16
-
+
- 8.0.15
+ 8.0.16
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index 9746528d4365..a1df454eacdf 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -4,110 +4,110 @@ This file contains a list of all the packages and their versions which were rele
Update this list when preparing for a new patch.
-->
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index ebd02201a1bf..33cefb75346e 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -9,37 +9,37 @@
-->
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-efcore
- 0118cb6810a48869bf7494aabd86ef44da5940a3
+ c755c4a6f3df392ac86ce9985f27a8c3e851b3b3
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -121,9 +121,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
5535e31a712343a63f5d7d796cd874e563e5ac14
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -185,9 +185,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
5535e31a712343a63f5d7d796cd874e563e5ac14
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://github.com/dotnet/source-build-externals
@@ -223,9 +223,9 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
81cabf2857a01351e5ab578947c7403a5b128ad1
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 05e0f2d2c881def48961d3b83fa11ae84df8e534
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -275,17 +275,17 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
81cabf2857a01351e5ab578947c7403a5b128ad1
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
@@ -316,22 +316,22 @@
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
All Runtime.$rid packages should have the same version.
-->
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://github.com/dotnet/xdt
@@ -368,9 +368,9 @@
-
+
https://dev.azure.com/dnceng/internal/_git/dotnet-runtime
- 50c4cb9fc31c47f03eac865d7bc518af173b74b7
+ efd5742bb5dd1677fbbbeb277bcfb5c9025548e5
https://github.com/dotnet/winforms
diff --git a/eng/Versions.props b/eng/Versions.props
index 1aa1d61db540..b863546ddc2c 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -11,7 +11,7 @@
17
- false
+ true
7.1.2
7.*
8.0.2
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15-servicing.25164.13
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16-servicing.25215.6
8.0.0
8.0.1
8.0.0
@@ -93,7 +93,7 @@
8.0.0
8.0.0
8.0.0
- 8.0.15-servicing.25164.13
+ 8.0.16-servicing.25215.6
8.0.1
8.0.1
8.0.1
@@ -109,7 +109,7 @@
8.0.0
8.0.2
8.0.0
- 8.0.15-servicing.25164.13
+ 8.0.16-servicing.25215.6
8.0.1
8.0.1
8.0.2
@@ -117,7 +117,7 @@
8.0.0-rtm.23520.14
8.0.0
8.0.1
- 8.0.2
+ 8.0.3
8.0.1
8.0.0
8.0.1
@@ -129,9 +129,9 @@
8.0.0
8.0.0
8.0.0
- 8.0.15-servicing.25164.13
+ 8.0.16-servicing.25215.6
- 8.0.15-servicing.25164.13
+ 8.0.16-servicing.25215.6
8.0.0
8.0.1
@@ -143,14 +143,14 @@
8.1.0-preview.23604.1
8.1.0-preview.23604.1
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
- 8.0.15
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
+ 8.0.16
4.8.0-7.24574.2
4.8.0-7.24574.2
@@ -339,4 +339,4 @@
1.10.93
1.2.3
-
+
\ No newline at end of file
diff --git a/global.json b/global.json
index 2d7bd87b2e5f..c77c161a20d5 100644
--- a/global.json
+++ b/global.json
@@ -1,9 +1,9 @@
{
"sdk": {
- "version": "8.0.115"
+ "version": "8.0.116"
},
"tools": {
- "dotnet": "8.0.115",
+ "dotnet": "8.0.116",
"runtimes": {
"dotnet/x86": [
"$(MicrosoftNETCoreBrowserDebugHostTransportVersion)"
diff --git a/src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreTest.cs b/src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreTest.cs
index 22ab9e8be5f9..4f0e347ae937 100644
--- a/src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreTest.cs
+++ b/src/Identity/EntityFrameworkCore/test/EF.Test/UserStoreTest.cs
@@ -144,6 +144,9 @@ await Assert.ThrowsAsync("user",
await Assert.ThrowsAsync("user", async () => await store.GetTwoFactorEnabledAsync(null));
await Assert.ThrowsAsync("user",
async () => await store.SetTwoFactorEnabledAsync(null, true));
+ await Assert.ThrowsAsync("user", async () => await store.RedeemCodeAsync(user: null, code: "fake", default));
+ await Assert.ThrowsAsync("code", async () => await store.RedeemCodeAsync(new IdentityUser("fake"), code: null, default));
+ await Assert.ThrowsAsync("code", async () => await store.RedeemCodeAsync(new IdentityUser("fake"), code: "", default));
await Assert.ThrowsAsync("user", async () => await store.GetAccessFailedCountAsync(null));
await Assert.ThrowsAsync("user", async () => await store.GetLockoutEnabledAsync(null));
await Assert.ThrowsAsync("user", async () => await store.SetLockoutEnabledAsync(null, false));
diff --git a/src/Identity/Extensions.Stores/src/UserStoreBase.cs b/src/Identity/Extensions.Stores/src/UserStoreBase.cs
index c45dd197e4a2..804ebcbad7dc 100644
--- a/src/Identity/Extensions.Stores/src/UserStoreBase.cs
+++ b/src/Identity/Extensions.Stores/src/UserStoreBase.cs
@@ -969,7 +969,7 @@ public virtual async Task RedeemCodeAsync(TUser user, string code, Cancell
ThrowIfDisposed();
ArgumentNullThrowHelper.ThrowIfNull(user);
- ArgumentNullThrowHelper.ThrowIfNull(code);
+ ArgumentNullThrowHelper.ThrowIfNullOrEmpty(code);
var mergedCodes = await GetTokenAsync(user, InternalLoginProvider, RecoveryCodeTokenName, cancellationToken).ConfigureAwait(false) ?? "";
var splitCodes = mergedCodes.Split(';');
diff --git a/src/Shared/ThrowHelpers/ArgumentNullThrowHelper.cs b/src/Shared/ThrowHelpers/ArgumentNullThrowHelper.cs
index fc1d5c847d74..e83e87423745 100644
--- a/src/Shared/ThrowHelpers/ArgumentNullThrowHelper.cs
+++ b/src/Shared/ThrowHelpers/ArgumentNullThrowHelper.cs
@@ -30,6 +30,29 @@ public static void ThrowIfNull(
#endif
}
+ /// Throws an if is null or empty.
+ /// The argument to validate as non-null and non-empty.
+ /// The name of the parameter with which corresponds.
+ public static void ThrowIfNullOrEmpty(
+#if INTERNAL_NULLABLE_ATTRIBUTES || NETSTANDARD2_1_OR_GREATER || NET5_0_OR_GREATER
+ [NotNull]
+#endif
+ string? argument, [CallerArgumentExpression(nameof(argument))] string? paramName = null)
+ {
+#if !NET7_0_OR_GREATER || NETSTANDARD || NETFRAMEWORK
+ if (argument is null)
+ {
+ Throw(paramName);
+ }
+ else if (argument.Length == 0)
+ {
+ throw new ArgumentException("Must not be null or empty", paramName);
+ }
+#else
+ ArgumentException.ThrowIfNullOrEmpty(argument, paramName);
+#endif
+ }
+
#if !NET7_0_OR_GREATER || NETSTANDARD || NETFRAMEWORK
#if INTERNAL_NULLABLE_ATTRIBUTES || NETSTANDARD2_1_OR_GREATER || NET5_0_OR_GREATER
[DoesNotReturn]