diff --git a/Directory.Build.props b/Directory.Build.props
index 258a01d388..889ba3aed6 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -11,14 +11,23 @@
$([MSBuild]::MakeRelative($(RepoRoot), $(MSBuildProjectDirectory)))
- true
+ true
true
false
- true
- true
- true
+ true
+ true
+ true
true
- false
+ false
- true
+ true
- true
+ true
true
diff --git a/eng/PublicAPI.empty.txt b/eng/PublicAPI.empty.txt
new file mode 100644
index 0000000000..7dc5c58110
--- /dev/null
+++ b/eng/PublicAPI.empty.txt
@@ -0,0 +1 @@
+#nullable enable
diff --git a/eng/targets/CSharp.Common.targets b/eng/targets/CSharp.Common.targets
index babdae75f2..5da1b5c47d 100644
--- a/eng/targets/CSharp.Common.targets
+++ b/eng/targets/CSharp.Common.targets
@@ -6,32 +6,42 @@
.NETFramework
-
- <_TFMDirectory>$(TargetFramework)
- <_TFMDirectory Condition=" '$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)' ">netcoreapp
+
+ true
+ false
$(NoWarn);RS0041
-
- $(NoWarn);CA1416
+
+ $(NoWarn);CA1416
-
+
+ Condition=" Exists('$(MSBuildProjectDirectory)\PublicAPI.Shipped.txt') AND ! $(AddPublicApiAnalyzers) ">
+
+
+ <_PublicAPIAnalyzers Include="@(Analyzer->WithMetadataValue('NuGetPackageId','Microsoft.CodeAnalysis.PublicApiAnalyzers'))" />
+
+
+
+
+
+
+
+
true
false
+
+ false
diff --git a/src/Analyzers/Microsoft.AspNetCore.Analyzer.Testing/src/Microsoft.AspNetCore.Analyzer.Testing.csproj b/src/Analyzers/Microsoft.AspNetCore.Analyzer.Testing/src/Microsoft.AspNetCore.Analyzer.Testing.csproj
index 01e88ae148..88ac17550a 100644
--- a/src/Analyzers/Microsoft.AspNetCore.Analyzer.Testing/src/Microsoft.AspNetCore.Analyzer.Testing.csproj
+++ b/src/Analyzers/Microsoft.AspNetCore.Analyzer.Testing/src/Microsoft.AspNetCore.Analyzer.Testing.csproj
@@ -5,8 +5,9 @@
netstandard2.0
$(PackageTags);testing
true
-
+
false
+ true
true
false
diff --git a/src/Antiforgery/src/PublicAPI.Shipped.txt b/src/Antiforgery/src/PublicAPI.Shipped.txt
index 7dc5c58110..575a0a0b86 100644
--- a/src/Antiforgery/src/PublicAPI.Shipped.txt
+++ b/src/Antiforgery/src/PublicAPI.Shipped.txt
@@ -1 +1,33 @@
#nullable enable
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.AntiforgeryOptions() -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.get -> Microsoft.AspNetCore.Http.CookieBuilder!
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.set -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.get -> string!
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.set -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.get -> string?
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.set -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.get -> bool
+Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.set -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.AntiforgeryTokenSet(string? requestToken, string? cookieToken, string! formFieldName, string? headerName) -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.CookieToken.get -> string?
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.FormFieldName.get -> string!
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.HeaderName.get -> string?
+Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.RequestToken.get -> string?
+Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException
+Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message) -> void
+Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message, System.Exception? innerException) -> void
+Microsoft.AspNetCore.Antiforgery.IAntiforgery
+Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetAndStoreTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
+Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
+Microsoft.AspNetCore.Antiforgery.IAntiforgery.IsRequestValidAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Antiforgery.IAntiforgery.SetCookieTokenAndHeader(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> void
+Microsoft.AspNetCore.Antiforgery.IAntiforgery.ValidateRequestAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider
+Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.GetAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context) -> string!
+Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.ValidateAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context, string! additionalData) -> bool
+Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions
+static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
+static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action! setupAction) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
+static readonly Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.DefaultCookiePrefix -> string!
diff --git a/src/Antiforgery/src/PublicAPI.Unshipped.txt b/src/Antiforgery/src/PublicAPI.Unshipped.txt
index 575a0a0b86..7dc5c58110 100644
--- a/src/Antiforgery/src/PublicAPI.Unshipped.txt
+++ b/src/Antiforgery/src/PublicAPI.Unshipped.txt
@@ -1,33 +1 @@
#nullable enable
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.AntiforgeryOptions() -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.get -> Microsoft.AspNetCore.Http.CookieBuilder!
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.Cookie.set -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.get -> string!
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.FormFieldName.set -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.get -> string?
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.HeaderName.set -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.get -> bool
-Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.SuppressXFrameOptionsHeader.set -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.AntiforgeryTokenSet(string? requestToken, string? cookieToken, string! formFieldName, string? headerName) -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.CookieToken.get -> string?
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.FormFieldName.get -> string!
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.HeaderName.get -> string?
-Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet.RequestToken.get -> string?
-Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException
-Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message) -> void
-Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException.AntiforgeryValidationException(string! message, System.Exception? innerException) -> void
-Microsoft.AspNetCore.Antiforgery.IAntiforgery
-Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetAndStoreTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
-Microsoft.AspNetCore.Antiforgery.IAntiforgery.GetTokens(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> Microsoft.AspNetCore.Antiforgery.AntiforgeryTokenSet!
-Microsoft.AspNetCore.Antiforgery.IAntiforgery.IsRequestValidAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task!
-Microsoft.AspNetCore.Antiforgery.IAntiforgery.SetCookieTokenAndHeader(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> void
-Microsoft.AspNetCore.Antiforgery.IAntiforgery.ValidateRequestAsync(Microsoft.AspNetCore.Http.HttpContext! httpContext) -> System.Threading.Tasks.Task!
-Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider
-Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.GetAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context) -> string!
-Microsoft.AspNetCore.Antiforgery.IAntiforgeryAdditionalDataProvider.ValidateAdditionalData(Microsoft.AspNetCore.Http.HttpContext! context, string! additionalData) -> bool
-Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions
-static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
-static Microsoft.Extensions.DependencyInjection.AntiforgeryServiceCollectionExtensions.AddAntiforgery(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action! setupAction) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
-static readonly Microsoft.AspNetCore.Antiforgery.AntiforgeryOptions.DefaultCookiePrefix -> string!
diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Shipped.txt b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Shipped.txt
new file mode 100644
index 0000000000..c6696c73a0
--- /dev/null
+++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Shipped.txt
@@ -0,0 +1,47 @@
+#nullable enable
+Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults
+Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions
+Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.AzureADOptions() -> void
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.AccessDeniedModel
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.AccessDeniedModel.AccessDeniedModel() -> void
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.AccessDeniedModel.OnGet() -> void
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel.ErrorModel() -> void
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel.OnGet() -> void
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel.ShowRequestId.get -> bool
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.SignedOutModel
+Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.SignedOutModel.SignedOutModel() -> void
+Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.AllSchemes.get -> string[]
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.CallbackPath.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.CallbackPath.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.ClientId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.ClientId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.ClientSecret.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.ClientSecret.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.CookieSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.CookieSchemeName.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.Domain.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.Domain.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.Instance.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.Instance.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.JwtBearerSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.OpenIdConnectSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.OpenIdConnectSchemeName.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.SignedOutCallbackPath.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.SignedOutCallbackPath.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.TenantId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADOptions.TenantId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel.RequestId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.ErrorModel.RequestId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureAD.UI.Internal.SignedOutModel.OnGet() -> Microsoft.AspNetCore.Mvc.IActionResult
+~const Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.AuthenticationScheme = "AzureAD" -> string
+~const Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.BearerAuthenticationScheme = "AzureADBearer" -> string
+~const Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.CookieScheme = "AzureADCookie" -> string
+~const Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.JwtBearerAuthenticationScheme = "AzureADJwtBearer" -> string
+~const Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.OpenIdScheme = "AzureADOpenID" -> string
+~static Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions.AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions.AddAzureAD(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions.AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADAuthenticationBuilderExtensions.AddAzureADBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static readonly Microsoft.AspNetCore.Authentication.AzureAD.UI.AzureADDefaults.DisplayName -> string
diff --git a/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Unshipped.txt b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000000..7dc5c58110
--- /dev/null
+++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/PublicAPI.Unshipped.txt
@@ -0,0 +1 @@
+#nullable enable
diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Shipped.txt b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Shipped.txt
new file mode 100644
index 0000000000..dc774f64ee
--- /dev/null
+++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Shipped.txt
@@ -0,0 +1,53 @@
+#nullable enable
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.AzureADB2COptions() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.AccessDeniedModel
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.AccessDeniedModel.AccessDeniedModel() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.AccessDeniedModel.OnGet() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel.ErrorModel() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel.OnGet() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel.ShowRequestId.get -> bool
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.SignedOutModel
+Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.SignedOutModel.SignedOutModel() -> void
+Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.AllSchemes.get -> string[]
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.CallbackPath.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.CallbackPath.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ClientId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ClientId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ClientSecret.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ClientSecret.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.CookieSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.CookieSchemeName.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.DefaultPolicy.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.Domain.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.Domain.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.EditProfilePolicyId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.EditProfilePolicyId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.Instance.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.Instance.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.JwtBearerSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.OpenIdConnectSchemeName.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.OpenIdConnectSchemeName.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ResetPasswordPolicyId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.ResetPasswordPolicyId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.SignUpSignInPolicyId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.SignUpSignInPolicyId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.SignedOutCallbackPath.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2COptions.SignedOutCallbackPath.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel.RequestId.get -> string
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.ErrorModel.RequestId.set -> void
+~Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Internal.SignedOutModel.OnGet() -> Microsoft.AspNetCore.Mvc.IActionResult
+~const Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.AuthenticationScheme = "AzureADB2C" -> string
+~const Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.BearerAuthenticationScheme = "AzureADB2CBearer" -> string
+~const Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.CookieScheme = "AzureADB2CCookie" -> string
+~const Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.JwtBearerAuthenticationScheme = "AzureADB2CJwtBearer" -> string
+~const Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.OpenIdScheme = "AzureADB2COpenID" -> string
+~static Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions.AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions.AddAzureADB2C(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string openIdConnectScheme, string cookieScheme, string displayName, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions.AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static Microsoft.AspNetCore.Authentication.AzureADB2CAuthenticationBuilderExtensions.AddAzureADB2CBearer(this Microsoft.AspNetCore.Authentication.AuthenticationBuilder builder, string scheme, string jwtBearerScheme, System.Action configureOptions) -> Microsoft.AspNetCore.Authentication.AuthenticationBuilder
+~static readonly Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.DisplayName -> string
+~static readonly Microsoft.AspNetCore.Authentication.AzureADB2C.UI.AzureADB2CDefaults.PolicyKey -> string
diff --git a/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Unshipped.txt b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000000..7dc5c58110
--- /dev/null
+++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/PublicAPI.Unshipped.txt
@@ -0,0 +1 @@
+#nullable enable
diff --git a/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Shipped.txt b/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Shipped.txt
index 7dc5c58110..8ae5bbc1c5 100644
--- a/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Shipped.txt
+++ b/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Shipped.txt
@@ -1 +1,4 @@
#nullable enable
+Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup
+Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.AzureAppServicesHostingStartup() -> void
+~Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) -> void
diff --git a/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Unshipped.txt b/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Unshipped.txt
index 8ae5bbc1c5..7dc5c58110 100644
--- a/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Unshipped.txt
+++ b/src/Azure/AzureAppServices.HostingStartup/src/PublicAPI.Unshipped.txt
@@ -1,4 +1 @@
#nullable enable
-Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup
-Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.AzureAppServicesHostingStartup() -> void
-~Microsoft.AspNetCore.AzureAppServices.HostingStartup.AzureAppServicesHostingStartup.Configure(Microsoft.AspNetCore.Hosting.IWebHostBuilder builder) -> void
diff --git a/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Shipped.txt b/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Shipped.txt
index 7dc5c58110..8a21c33de6 100644
--- a/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Shipped.txt
+++ b/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Shipped.txt
@@ -1 +1,3 @@
#nullable enable
+Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions
+~static Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions.UseAzureAppServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
diff --git a/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Unshipped.txt b/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Unshipped.txt
index 8a21c33de6..7dc5c58110 100644
--- a/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Unshipped.txt
+++ b/src/Azure/AzureAppServicesIntegration/src/PublicAPI.Unshipped.txt
@@ -1,3 +1 @@
#nullable enable
-Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions
-~static Microsoft.AspNetCore.Hosting.AppServicesWebHostBuilderExtensions.UseAzureAppServices(this Microsoft.AspNetCore.Hosting.IWebHostBuilder hostBuilder) -> Microsoft.AspNetCore.Hosting.IWebHostBuilder
diff --git a/src/Components/Authorization/src/PublicAPI.Shipped.txt b/src/Components/Authorization/src/PublicAPI.Shipped.txt
new file mode 100644
index 0000000000..d9a2ae59c8
--- /dev/null
+++ b/src/Components/Authorization/src/PublicAPI.Shipped.txt
@@ -0,0 +1,48 @@
+#nullable enable
+Microsoft.AspNetCore.Components.Authorization.AuthenticationState
+Microsoft.AspNetCore.Components.Authorization.AuthenticationStateChangedHandler
+Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider
+Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider.AuthenticationStateChanged -> Microsoft.AspNetCore.Components.Authorization.AuthenticationStateChangedHandler
+Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider.AuthenticationStateProvider() -> void
+Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView
+Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.AuthorizeRouteView() -> void
+Microsoft.AspNetCore.Components.Authorization.AuthorizeView
+Microsoft.AspNetCore.Components.Authorization.AuthorizeView.AuthorizeView() -> void
+Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore
+Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.AuthorizeViewCore() -> void
+Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState
+Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.CascadingAuthenticationState() -> void
+Microsoft.AspNetCore.Components.Authorization.IHostEnvironmentAuthenticationStateProvider
+override Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.OnInitialized() -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthenticationState.AuthenticationState(System.Security.Claims.ClaimsPrincipal user) -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthenticationState.User.get -> System.Security.Claims.ClaimsPrincipal
+~Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider.NotifyAuthenticationStateChanged(System.Threading.Tasks.Task task) -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Authorizing.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Authorizing.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.NotAuthorized.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.NotAuthorized.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Resource.get -> object
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeRouteView.Resource.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Policy.get -> string
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Policy.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Roles.get -> string
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeView.Roles.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Authorized.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Authorized.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Authorizing.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Authorizing.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.ChildContent.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.ChildContent.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.NotAuthorized.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.NotAuthorized.set -> void
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Resource.get -> object
+~Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.Resource.set -> void
+~Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.ChildContent.get -> Microsoft.AspNetCore.Components.RenderFragment
+~Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.ChildContent.set -> void
+~Microsoft.AspNetCore.Components.Authorization.IHostEnvironmentAuthenticationStateProvider.SetAuthenticationState(System.Threading.Tasks.Task authenticationStateTask) -> void
+~abstract Microsoft.AspNetCore.Components.Authorization.AuthenticationStateProvider.GetAuthenticationStateAsync() -> System.Threading.Tasks.Task
+~abstract Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.GetAuthorizeData() -> Microsoft.AspNetCore.Authorization.IAuthorizeData[]
+~override Microsoft.AspNetCore.Components.Authorization.AuthorizeView.GetAuthorizeData() -> Microsoft.AspNetCore.Authorization.IAuthorizeData[]
+~override Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder builder) -> void
+~override Microsoft.AspNetCore.Components.Authorization.AuthorizeViewCore.OnParametersSetAsync() -> System.Threading.Tasks.Task
+~override Microsoft.AspNetCore.Components.Authorization.CascadingAuthenticationState.BuildRenderTree(Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) -> void
diff --git a/src/Components/Authorization/src/PublicAPI.Unshipped.txt b/src/Components/Authorization/src/PublicAPI.Unshipped.txt
new file mode 100644
index 0000000000..7dc5c58110
--- /dev/null
+++ b/src/Components/Authorization/src/PublicAPI.Unshipped.txt
@@ -0,0 +1 @@
+#nullable enable
diff --git a/src/Components/Components/src/PublicAPI.Shipped.txt b/src/Components/Components/src/PublicAPI.Shipped.txt
index ab058de62d..d111d01e1e 100644
--- a/src/Components/Components/src/PublicAPI.Shipped.txt
+++ b/src/Components/Components/src/PublicAPI.Shipped.txt
@@ -1 +1,431 @@
#nullable enable
+Microsoft.AspNetCore.Components.BindConverter
+Microsoft.AspNetCore.Components.BindElementAttribute
+Microsoft.AspNetCore.Components.BindElementAttribute.BindElementAttribute(string! element, string? suffix, string! valueAttribute, string! changeAttribute) -> void
+Microsoft.AspNetCore.Components.BindElementAttribute.ChangeAttribute.get -> string!
+Microsoft.AspNetCore.Components.BindElementAttribute.Element.get -> string!
+Microsoft.AspNetCore.Components.BindElementAttribute.Suffix.get -> string?
+Microsoft.AspNetCore.Components.BindElementAttribute.ValueAttribute.get -> string!
+Microsoft.AspNetCore.Components.CascadingParameterAttribute
+Microsoft.AspNetCore.Components.CascadingParameterAttribute.CascadingParameterAttribute() -> void
+Microsoft.AspNetCore.Components.CascadingParameterAttribute.Name.get -> string?
+Microsoft.AspNetCore.Components.CascadingParameterAttribute.Name.set -> void
+Microsoft.AspNetCore.Components.CascadingValue
+Microsoft.AspNetCore.Components.CascadingValue.Attach(Microsoft.AspNetCore.Components.RenderHandle renderHandle) -> void
+Microsoft.AspNetCore.Components.CascadingValue.CascadingValue() -> void
+Microsoft.AspNetCore.Components.CascadingValue.ChildContent.get -> Microsoft.AspNetCore.Components.RenderFragment!
+Microsoft.AspNetCore.Components.CascadingValue.ChildContent.set -> void
+Microsoft.AspNetCore.Components.CascadingValue.IsFixed.get -> bool
+Microsoft.AspNetCore.Components.CascadingValue.IsFixed.set -> void
+Microsoft.AspNetCore.Components.CascadingValue.Name.get -> string?
+Microsoft.AspNetCore.Components.CascadingValue.Name.set -> void
+Microsoft.AspNetCore.Components.CascadingValue.SetParametersAsync(Microsoft.AspNetCore.Components.ParameterView parameters) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.CascadingValue.Value.get -> TValue
+Microsoft.AspNetCore.Components.CascadingValue.Value.set -> void
+Microsoft.AspNetCore.Components.ChangeEventArgs
+Microsoft.AspNetCore.Components.ChangeEventArgs.ChangeEventArgs() -> void
+Microsoft.AspNetCore.Components.ChangeEventArgs.Value.get -> object?
+Microsoft.AspNetCore.Components.ChangeEventArgs.Value.set -> void
+Microsoft.AspNetCore.Components.CompilerServices.RuntimeHelpers
+Microsoft.AspNetCore.Components.ComponentBase
+Microsoft.AspNetCore.Components.ComponentBase.ComponentBase() -> void
+Microsoft.AspNetCore.Components.ComponentBase.InvokeAsync(System.Action! workItem) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.ComponentBase.InvokeAsync(System.Func! workItem) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged() -> void
+Microsoft.AspNetCore.Components.Dispatcher
+Microsoft.AspNetCore.Components.Dispatcher.AssertAccess() -> void
+Microsoft.AspNetCore.Components.Dispatcher.Dispatcher() -> void
+Microsoft.AspNetCore.Components.Dispatcher.OnUnhandledException(System.UnhandledExceptionEventArgs! e) -> void
+Microsoft.AspNetCore.Components.ElementReference
+Microsoft.AspNetCore.Components.ElementReference.Context.get -> Microsoft.AspNetCore.Components.ElementReferenceContext?
+Microsoft.AspNetCore.Components.ElementReference.ElementReference(string! id) -> void
+Microsoft.AspNetCore.Components.ElementReference.ElementReference(string! id, Microsoft.AspNetCore.Components.ElementReferenceContext? context) -> void
+Microsoft.AspNetCore.Components.ElementReference.Id.get -> string!
+Microsoft.AspNetCore.Components.ElementReferenceContext
+Microsoft.AspNetCore.Components.ElementReferenceContext.ElementReferenceContext() -> void
+Microsoft.AspNetCore.Components.EventCallback
+Microsoft.AspNetCore.Components.EventCallback.EventCallback(Microsoft.AspNetCore.Components.IHandleEvent? receiver, System.MulticastDelegate? delegate) -> void
+Microsoft.AspNetCore.Components.EventCallback.HasDelegate.get -> bool
+Microsoft.AspNetCore.Components.EventCallback.InvokeAsync() -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.EventCallback.InvokeAsync(object? arg) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.EventCallback
+Microsoft.AspNetCore.Components.EventCallback.EventCallback(Microsoft.AspNetCore.Components.IHandleEvent? receiver, System.MulticastDelegate? delegate) -> void
+Microsoft.AspNetCore.Components.EventCallback.HasDelegate.get -> bool
+Microsoft.AspNetCore.Components.EventCallback.InvokeAsync() -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.EventCallback.InvokeAsync(TValue? arg) -> System.Threading.Tasks.Task!
+Microsoft.AspNetCore.Components.EventCallbackFactory
+Microsoft.AspNetCore.Components.EventCallbackFactory.Create(object! receiver, Microsoft.AspNetCore.Components.EventCallback callback) -> Microsoft.AspNetCore.Components.EventCallback
+Microsoft.AspNetCore.Components.EventCallbackFactory.Create(object! receiver, System.Action! callback) -> Microsoft.AspNetCore.Components.EventCallback
+Microsoft.AspNetCore.Components.EventCallbackFactory.Create(object! receiver, System.Action