diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index e1e15f26a351a..50e64ecafd323 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -96,12 +96,12 @@
| Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) |
| Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) |
| Service Bus | NuGet [7.20.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.1/sdk/servicebus/Azure.Messaging.ServiceBus/) |
-| Storage - Blobs | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.26.0/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.27.0-beta.1/sdk/storage/Azure.Storage.Blobs/) |
-| Storage - Blobs Batch | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.23.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.24.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) |
-| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.58](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.58) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.58](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.58/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
-| Storage - Files Data Lake | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.24.0/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.25.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) |
-| Storage - Files Share | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.24.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.25.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) |
-| Storage - Queues | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.24.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.25.0-beta.1/sdk/storage/Azure.Storage.Queues/) |
+| Storage - Blobs | NuGet [12.27.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.27.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.27.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.27.0/sdk/storage/Azure.Storage.Blobs/) |
+| Storage - Blobs Batch | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.24.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.24.0/sdk/storage/Azure.Storage.Blobs.Batch/) |
+| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.59](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.59) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.59](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.59/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
+| Storage - Files Data Lake | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.25.0/sdk/storage/Azure.Storage.Files.DataLake/) |
+| Storage - Files Share | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.25.0/sdk/storage/Azure.Storage.Files.Shares/) |
+| Storage - Queues | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.25.0/sdk/storage/Azure.Storage.Queues/) |
| Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) |
| Synapse - Artifacts | NuGet [1.0.0-preview.22](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.22) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.22](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.22/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
| Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) |
@@ -134,7 +134,7 @@
| Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) |
| Key Encryptor for .NET Data Protection | NuGet [1.6.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) |
| Secrets Configuration Provider for .NET | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.4.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.4.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
-| Storage - Common | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Common/12.25.0)
NuGet [12.26.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.25.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.26.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0-beta.1/sdk/storage/Azure.Storage.Common/) |
+| Storage - Common | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0/sdk/storage/Azure.Storage.Common/) |
| WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) |
| WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
| WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) |
@@ -264,6 +264,7 @@
| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) |
| Resource Management - Extended Location | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.1/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) |
| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/) |
+| Resource Management - Fileshares | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.FileShares/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FileShares-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FileShares_1.0.0-beta.1/sdk/fileshares/Azure.ResourceManager.FileShares/) |
| Resource Management - Fluid Relay | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.1/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) |
| Resource Management - Front Door | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.1/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) |
| Resource Management - Graph Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.2/sdk/graphservices/Azure.ResourceManager.GraphServices/) |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 12450d05bb756..ea41b3987d49e 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -105,12 +105,12 @@
| Schema Registry | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Data.SchemaRegistry/1.4.0) | [docs](/dotnet/api/overview/azure/Data.SchemaRegistry-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.SchemaRegistry_1.4.0/sdk/schemaregistry/Azure.Data.SchemaRegistry/) |
| Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) |
| Service Bus | NuGet [7.20.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.20.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.20.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.20.1/sdk/servicebus/Azure.Messaging.ServiceBus/) |
-| Storage - Blobs | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.26.0)
NuGet [12.27.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs/12.27.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.26.0/sdk/storage/Azure.Storage.Blobs/)
GitHub [12.27.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.27.0-beta.1/sdk/storage/Azure.Storage.Blobs/) |
-| Storage - Blobs Batch | NuGet [12.23.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.23.0)
NuGet [12.24.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.24.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.23.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.23.0/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.24.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.24.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/) |
-| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.58](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.58) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.58](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.58/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
-| Storage - Files Data Lake | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.24.0/sdk/storage/Azure.Storage.Files.DataLake/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.25.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/) |
-| Storage - Files Share | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.24.0/sdk/storage/Azure.Storage.Files.Shares/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.25.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/) |
-| Storage - Queues | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.24.0)
NuGet [12.25.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Queues/12.25.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.24.0/sdk/storage/Azure.Storage.Queues/)
GitHub [12.25.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.25.0-beta.1/sdk/storage/Azure.Storage.Queues/) |
+| Storage - Blobs | NuGet [12.27.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.27.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.27.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.27.0/sdk/storage/Azure.Storage.Blobs/) |
+| Storage - Blobs Batch | NuGet [12.24.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.24.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.24.0/sdk/storage/Azure.Storage.Blobs.Batch/) |
+| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.59](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.59) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.59](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.59/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
+| Storage - Files Data Lake | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.25.0/sdk/storage/Azure.Storage.Files.DataLake/) |
+| Storage - Files Share | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.25.0/sdk/storage/Azure.Storage.Files.Shares/) |
+| Storage - Queues | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Queues/12.25.0) | [docs](/dotnet/api/overview/azure/Storage.Queues-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.25.0/sdk/storage/Azure.Storage.Queues/) |
| Synapse - AccessControl | NuGet [1.0.0-preview.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.AccessControl/1.0.0-preview.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.AccessControl-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.AccessControl_1.0.0-preview.5/sdk/synapse/Azure.Analytics.Synapse.AccessControl/) |
| Synapse - Artifacts | NuGet [1.0.0-preview.22](https://www.nuget.org/packages/Azure.Analytics.Synapse.Artifacts/1.0.0-preview.22) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Artifacts-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.22](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Artifacts_1.0.0-preview.22/sdk/synapse/Azure.Analytics.Synapse.Artifacts/) |
| Synapse - Managed Private Endpoints | NuGet [1.0.0-beta.5](https://www.nuget.org/packages/Azure.Analytics.Synapse.ManagedPrivateEndpoints/1.0.0-beta.5) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.ManagedPrivateEndpoints-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.ManagedPrivateEndpoints_1.0.0-beta.5/sdk/synapse/Azure.Analytics.Synapse.ManagedPrivateEndpoints/) |
@@ -144,7 +144,7 @@
| Functions extension for Azure Tables | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables/1.4.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.Tables-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.4.0/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/) |
| Key Encryptor for .NET Data Protection | NuGet [1.6.1](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.DataProtection.Keys/1.6.1) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.DataProtection.Keys-readme) | GitHub [1.6.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.DataProtection.Keys_1.6.1/sdk/extensions/Azure.Extensions.AspNetCore.DataProtection.Keys/) |
| Secrets Configuration Provider for .NET | NuGet [1.4.0](https://www.nuget.org/packages/Azure.Extensions.AspNetCore.Configuration.Secrets/1.4.0) | [docs](/dotnet/api/overview/azure/Extensions.AspNetCore.Configuration.Secrets-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Extensions.AspNetCore.Configuration.Secrets_1.4.0/sdk/extensions/Azure.Extensions.AspNetCore.Configuration.Secrets/) |
-| Storage - Common | NuGet [12.25.0](https://www.nuget.org/packages/Azure.Storage.Common/12.25.0)
NuGet [12.26.0-beta.1](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0-beta.1) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.25.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.25.0/sdk/storage/Azure.Storage.Common/)
GitHub [12.26.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0-beta.1/sdk/storage/Azure.Storage.Common/) |
+| Storage - Common | NuGet [12.26.0](https://www.nuget.org/packages/Azure.Storage.Common/12.26.0) | [docs](/dotnet/api/overview/azure/Storage.Common-readme) | GitHub [12.26.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.26.0/sdk/storage/Azure.Storage.Common/) |
| WebJobs Extensions - Event Grid | NuGet [3.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/3.5.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventGrid-readme) | GitHub [3.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.5.0/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/) |
| WebJobs Extensions - Event Hubs | NuGet [6.5.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs/6.5.3) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.EventHubs-readme) | GitHub [6.5.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventHubs_6.5.3/sdk/eventhub/Microsoft.Azure.WebJobs.Extensions.EventHubs/) |
| WebJobs Extensions - Service Bus | NuGet [5.17.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus/5.17.0) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.WebJobs.Extensions.ServiceBus-readme) | GitHub [5.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.ServiceBus_5.17.0/sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/) |
@@ -276,6 +276,7 @@
| Resource Management - Event Hubs | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.EventHubs-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.2.1/sdk/eventhub/Azure.ResourceManager.EventHubs/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.EventHubs_1.3.0-beta.1/sdk/eventhub/Azure.ResourceManager.EventHubs/) |
| Resource Management - Extended Location | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ExtendedLocations/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ExtendedLocations-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ExtendedLocations_1.1.1/sdk/extendedlocation/Azure.ResourceManager.ExtendedLocations/) |
| Resource Management - Fabric | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.Fabric/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Fabric-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Fabric_1.0.0/sdk/fabric/Azure.ResourceManager.Fabric/) |
+| Resource Management - Fileshares | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.FileShares/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FileShares-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FileShares_1.0.0-beta.1/sdk/fileshares/Azure.ResourceManager.FileShares/) |
| Resource Management - Fluid Relay | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.FluidRelay/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FluidRelay-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FluidRelay_1.1.1/sdk/fluidrelay/Azure.ResourceManager.FluidRelay/) |
| Resource Management - Front Door | NuGet [1.4.1](https://www.nuget.org/packages/Azure.ResourceManager.FrontDoor/1.4.1) | [docs](/dotnet/api/overview/azure/ResourceManager.FrontDoor-readme) | GitHub [1.4.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.FrontDoor_1.4.1/sdk/frontdoor/Azure.ResourceManager.FrontDoor/) |
| Resource Management - Graph Services | NuGet [1.1.2](https://www.nuget.org/packages/Azure.ResourceManager.GraphServices/1.1.2) | [docs](/dotnet/api/overview/azure/ResourceManager.GraphServices-readme) | GitHub [1.1.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.GraphServices_1.1.2/sdk/graphservices/Azure.ResourceManager.GraphServices/) |
diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md
index 62c9c8cce0734..38e7062d947b6 100644
--- a/docs/core/compatibility/11.md
+++ b/docs/core/compatibility/11.md
@@ -19,6 +19,7 @@ If you're migrating an app to .NET 11, the breaking changes listed here might af
| Title | Type of change |
|-------------------------------------------------------------------|-------------------|
| [Environment.TickCount made consistent with Windows timeout behavior](core-libraries/11/environment-tickcount-windows-behavior.md) | Behavioral change |
+| [MemoryStream maximum capacity updated and exception behavior changed](core-libraries/11/memorystream-max-capacity.md) | Behavioral change |
## Globalization
diff --git a/docs/core/compatibility/9.0.md b/docs/core/compatibility/9.0.md
index 03efb5bd505d6..ab432adf72955 100644
--- a/docs/core/compatibility/9.0.md
+++ b/docs/core/compatibility/9.0.md
@@ -38,7 +38,7 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
| [API obsoletions with custom diagnostic IDs](core-libraries/9.0/obsolete-apis-with-custom-diagnostics.md) | Source incompatible | (Multiple) |
| [Ambiguous overload resolution affecting StringValues implicit operators](core-libraries/9.0/ambiguous-overload.md) | Source incompatible | GA |
| [BigInteger maximum length](core-libraries/9.0/biginteger-limit.md) | Behavioral change | Preview 6 |
-| [BinaryReader.GetString() returns "\uFFFD" on malformed sequences](core-libraries/9.0/binaryreader.md) | Behavioral change | Preview 7 |
+| [BinaryReader.ReadString() returns "\uFFFD" on malformed sequences](core-libraries/9.0/binaryreader.md) | Behavioral change | Preview 7 |
| [C# overload resolution prefers `params` span-type overloads](core-libraries/9.0/params-overloads.md) | Source incompatible | |
| [Creating type of array of System.Void not allowed](core-libraries/9.0/type-instance.md) | Behavioral change | Preview 1 |
| [Default `Equals()` and `GetHashCode()` throw for types marked with `InlineArrayAttribute`](core-libraries/9.0/inlinearrayattribute.md) | Behavioral change | Preview 6 |
diff --git a/docs/core/compatibility/core-libraries/11/memorystream-max-capacity.md b/docs/core/compatibility/core-libraries/11/memorystream-max-capacity.md
new file mode 100644
index 0000000000000..7754b170ffd4e
--- /dev/null
+++ b/docs/core/compatibility/core-libraries/11/memorystream-max-capacity.md
@@ -0,0 +1,90 @@
+---
+title: "Breaking change: MemoryStream maximum capacity updated and exception behavior changed"
+description: "Learn about the breaking change in .NET 11 where MemoryStream enforces a maximum capacity and throws ArgumentOutOfRangeException for invalid capacity values."
+ms.date: 01/08/2026
+ai-usage: ai-assisted
+---
+
+# MemoryStream maximum capacity updated and exception behavior changed
+
+The class now enforces a maximum capacity of `0x7FFFFFC7` bytes, which is the actual maximum length of a byte array supported by the CLR. Additionally, the exception behavior has changed when attempting to set a `MemoryStream`'s capacity or length beyond this maximum. Instead of throwing an , the `MemoryStream` now throws an for invalid capacity or length values.
+
+## Version introduced
+
+.NET 11 Preview 1
+
+## Previous behavior
+
+Previously, `MemoryStream` allowed capacities up to `int.MaxValue` (`0x7FFFFFFF`), which could result in an when attempting to allocate memory beyond the CLR's supported limit of `0x7FFFFFC7`.
+
+When setting the capacity or length of a `MemoryStream` to a value greater than the supported limit, an `OutOfMemoryException` was thrown.
+
+```csharp
+var stream = new MemoryStream();
+stream.SetLength(int.MaxValue); // Threw OutOfMemoryException.
+```
+
+## New behavior
+
+Starting in .NET 11, `MemoryStream` enforces a maximum capacity of `0x7FFFFFC7` bytes. Attempting to set the capacity or length beyond this limit throws an .
+
+The exception type for invalid capacity or length values has changed from `OutOfMemoryException` to `ArgumentOutOfRangeException`.
+
+```csharp
+var stream = new MemoryStream();
+stream.SetLength(int.MaxValue); // Throws ArgumentOutOfRangeException.
+```
+
+## Type of breaking change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+This change was introduced to align `MemoryStream`'s behavior with the actual memory allocation limits of the CLR. The previous behavior allowed developers to specify capacities or lengths that exceeded the supported limit, leading to runtime failures with less descriptive exceptions (`OutOfMemoryException`). By capping the maximum capacity and throwing `ArgumentOutOfRangeException`, the change improves runtime reliability and provides clearer feedback to developers.
+
+## Recommended action
+
+Review any code that sets the capacity or length of a `MemoryStream` to ensure it doesn't exceed the maximum supported capacity.
+
+If your code was catching `OutOfMemoryException` when working with `MemoryStream` capacity or length operations, you should update it to also catch `ArgumentOutOfRangeException`, as both exceptions can still occur:
+
+- `ArgumentOutOfRangeException` is thrown when attempting to set an invalid capacity or length (exceeding the maximum).
+- `OutOfMemoryException` can still be thrown if there's insufficient memory available on the machine.
+
+```csharp
+var stream = new MemoryStream();
+try
+{
+ stream.SetLength(someLength);
+}
+catch (ArgumentOutOfRangeException)
+{
+ // Handle invalid capacity/length scenario.
+}
+catch (OutOfMemoryException)
+{
+ // Handle out of memory scenario.
+}
+```
+
+You can also add a check before setting the capacity or length to avoid the exception:
+
+```csharp
+bool TrySetLength(MemoryStream stream, long length)
+{
+ if (length > Array.MaxLength)
+ {
+ return false;
+ }
+
+ stream.SetLength(length);
+ return true;
+}
+```
+
+## Affected APIs
+
+-
+-
+- [MemoryStream constructor](xref:System.IO.MemoryStream.%23ctor)
diff --git a/docs/core/compatibility/core-libraries/9.0/binaryreader.md b/docs/core/compatibility/core-libraries/9.0/binaryreader.md
index c615900370335..6090cca3665ec 100644
--- a/docs/core/compatibility/core-libraries/9.0/binaryreader.md
+++ b/docs/core/compatibility/core-libraries/9.0/binaryreader.md
@@ -1,9 +1,9 @@
---
-title: "Breaking change:BinaryReader.GetString() returns '\uFFFD' on malformed sequences"
-description: Learn about the .NET 9 breaking change in core .NET libraries where BinaryReader.GetString() returns "\uFFFD" on malformed encoded string sequences.
+title: "Breaking change: BinaryReader.ReadString() returns '\uFFFD' on malformed sequences"
+description: Learn about the .NET 9 breaking change in core .NET libraries where BinaryReader.ReadString() returns "\uFFFD" on malformed encoded string sequences.
ms.date: 10/03/2024
---
-# BinaryReader.GetString() returns "\uFFFD" on malformed sequences
+# BinaryReader.ReadString() returns "\uFFFD" on malformed sequences
A a minor breaking change was introduced that only affects malformed encoded payloads.
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index 7d17ec4e0fcd7..1286012e0f7ba 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -12,6 +12,8 @@ items:
items:
- name: Environment.TickCount made consistent with Windows timeout behavior
href: core-libraries/11/environment-tickcount-windows-behavior.md
+ - name: MemoryStream maximum capacity updated and exception behavior changed
+ href: core-libraries/11/memorystream-max-capacity.md
- name: Globalization
items:
- name: Japanese Calendar minimum supported date corrected
@@ -252,7 +254,7 @@ items:
href: core-libraries/9.0/obsolete-apis-with-custom-diagnostics.md
- name: BigInteger maximum length
href: core-libraries/9.0/biginteger-limit.md
- - name: BinaryReader.GetString() returns "/uFFFD" on malformed sequences
+ - name: BinaryReader.ReadString() returns "/uFFFD" on malformed sequences
href: core-libraries/9.0/binaryreader.md
- name: C# overload resolution prefers `params` span-type overloads
href: core-libraries/9.0/params-overloads.md
diff --git a/docs/core/extensions/resources.md b/docs/core/extensions/resources.md
index 3b8f5b3dc0f7f..c186e14d4b9f4 100644
--- a/docs/core/extensions/resources.md
+++ b/docs/core/extensions/resources.md
@@ -57,6 +57,9 @@ You can then retrieve resources for the current UI culture or for a specific cul
- The class, which enables you to retrieve all the items in an XML resource file into memory.
+> [!NOTE]
+> In general, resource files (.resx and .resources) within .NET are considered part of the application deployment and are assumed to be trustworthy, much like configuration. Components that operate over such files are free to rely on this assumption. You shouldn't process untrustworthy resource files unless you're using an API that's explicitly documented as being safe for use with untrusted data.
+
## See also
-
diff --git a/docs/core/testing/microsoft-testing-platform-extensions-diagnostics.md b/docs/core/testing/microsoft-testing-platform-extensions-diagnostics.md
index c777f09041641..b42227f0520e1 100644
--- a/docs/core/testing/microsoft-testing-platform-extensions-diagnostics.md
+++ b/docs/core/testing/microsoft-testing-platform-extensions-diagnostics.md
@@ -59,5 +59,5 @@ To configure the hang dump file generation, use the following options:
|--|--|
| `--hangdump` | Generates a dump file in case the test host process hangs. |
| `--hangdump-filename` | Specifies the file name of the dump. |
-| `--hangdump-timeout` | Specifies the timeout after which the dump is generated. The timeout value is specified in one of the following formats:
`1.5h`, `1.5hour`, `1.5hours`
`90m`, `90min`, `90minute`, `90minutes`
`5400s`, `5400sec`, `5400second`, `5400seconds`. Defaults to `30m` (30 minutes). |
+| `--hangdump-timeout` | Specifies the duration of no activity after which the dump is generated. The timeout value is specified in one of the following formats:
`1.5h`, `1.5hour`, `1.5hours`
`90m`, `90min`, `90minute`, `90minutes`
`5400s`, `5400sec`, `5400second`, `5400seconds`. Defaults to `30m` (30 minutes). |
| `--hangdump-type` | Specifies the type of the dump. Valid values are `Mini`, `Heap`, `Triage`, `Full`. Defaults as `Full`. For more information, see [Types of mini dumps](../diagnostics/collect-dumps-crash.md#types-of-mini-dumps). |
diff --git a/docs/core/testing/unit-testing-mstest-migration-v3-v4.md b/docs/core/testing/unit-testing-mstest-migration-v3-v4.md
index f542536a8d036..c3f81c940459e 100644
--- a/docs/core/testing/unit-testing-mstest-migration-v3-v4.md
+++ b/docs/core/testing/unit-testing-mstest-migration-v3-v4.md
@@ -106,6 +106,10 @@ If you have calls to `TestContext.Properties.Contains`, update them to `TestCont
This enum only had a single member, `Infinite`, whose value was `int.MaxValue`.
If you had usages of `[Timeout(TestTimeout.Infinite)]`, update them to `[Timeout(int.MaxValue)]`.
+### TestContext.ManagedType is now removed
+
+The property `TestContext.ManagedType` is removed. Use `TestContext.FullyQualifiedTestClassName` instead.
+
### Types not intended for public consumption are made internal or removed
- `Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.ObjectModel.ITestMethod` is made internal.
diff --git a/docs/fundamentals/code-analysis/style-rules/ide0059.md b/docs/fundamentals/code-analysis/style-rules/ide0059.md
index 95b86af41e900..a4712a7f63340 100644
--- a/docs/fundamentals/code-analysis/style-rules/ide0059.md
+++ b/docs/fundamentals/code-analysis/style-rules/ide0059.md
@@ -1,7 +1,7 @@
---
title: "IDE0059"
description: "Learn about code analysis style rule IDE0059."
-ms.date: 12/13/2023
+ms.date: 01/05/2026
f1_keywords:
- IDE0059
- csharp_style_unused_value_assignment_preference
@@ -55,6 +55,23 @@ You can take one of the following actions to fix this violation:
int v = Compute2();
```
+## Known limitations
+
+This rule doesn't work in certain code contexts. The analyzer fails to flag unnecessary value assignments in the following scenarios:
+
+- Assignments inside `try` or `catch` blocks.
+- Assignments inside `using` statement blocks.
+- Variables assigned within lambda expressions or delegate bodies.
+- Variables in the presence of expression trees (`Expression>`).
+
+These limitations are tracked in the following GitHub issues:
+
+- [IDE0059 is not always reported](https://github.com/dotnet/roslyn/issues/52292)
+- [Detection of IDE0059 not working within try/catch statements](https://github.com/dotnet/roslyn/issues/65220)
+- [IDE0059 not raised inside a code block with using keyword](https://github.com/dotnet/roslyn/issues/74219)
+- [IDE0059 doesn't work with expression trees](https://github.com/dotnet/roslyn/issues/80033)
+- [Remove unused variable/values (parent issue)](https://github.com/dotnet/roslyn/issues/75737)
+
## Options
The options for this specify whether to prefer the use of a discard or an unused local variable:
diff --git a/docs/standard/garbage-collection/implementing-disposeasync.md b/docs/standard/garbage-collection/implementing-disposeasync.md
index d750de5cf2a98..c309de1f2b1e2 100644
--- a/docs/standard/garbage-collection/implementing-disposeasync.md
+++ b/docs/standard/garbage-collection/implementing-disposeasync.md
@@ -42,19 +42,13 @@ The `public` parameterless `DisposeAsync()` method is called implicitly in an `a
public async ValueTask DisposeAsync()
{
// Perform async cleanup.
- await DisposeAsyncCore();
-
- // Dispose of unmanaged resources.
- Dispose(false);
+ await DisposeAsyncCore().ConfigureAwait(false);
// Suppress finalization.
GC.SuppressFinalize(this);
}
```
-> [!NOTE]
-> One primary difference in the async dispose pattern compared to the dispose pattern, is that the call from to the `Dispose(bool)` overload method is given `false` as an argument. When implementing the method, however, `true` is passed instead. This helps ensure functional equivalence with the synchronous dispose pattern, and further ensures that finalizer code paths still get invoked. In other words, the `DisposeAsyncCore()` method will dispose of managed resources asynchronously, so you don't want to dispose of them synchronously as well. Therefore, call `Dispose(false)` instead of `Dispose(true)`.
-
### The `DisposeAsyncCore` method
The `DisposeAsyncCore()` method is intended to perform the asynchronous cleanup of managed resources or for cascading calls to `DisposeAsync()`. It encapsulates the common asynchronous cleanup operations when a subclass inherits a base class that is an implementation of . The `DisposeAsyncCore()` method is `virtual` so that derived classes can define custom cleanup in their overrides.
diff --git a/docs/standard/garbage-collection/snippets/dispose-async/ExampleConjunctiveDisposable.cs b/docs/standard/garbage-collection/snippets/dispose-async/ExampleConjunctiveDisposable.cs
index 0dfbe02bf1966..2a7966849a697 100644
--- a/docs/standard/garbage-collection/snippets/dispose-async/ExampleConjunctiveDisposable.cs
+++ b/docs/standard/garbage-collection/snippets/dispose-async/ExampleConjunctiveDisposable.cs
@@ -13,7 +13,6 @@ public async ValueTask DisposeAsync()
{
await DisposeAsyncCore().ConfigureAwait(false);
- Dispose(disposing: false);
GC.SuppressFinalize(this);
}