diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index b3818cbe2e332..a45fd2b4450f5 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -370,7 +370,7 @@
| Common | NuGet [2.2.1](https://www.nuget.org/packages/Microsoft.Azure.Common/2.2.1) | | |
| Common - Dependencies | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Common.Dependencies/1.0.0) | | |
| Computer Vision | NuGet [7.0.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.ComputerVision/7.0.1) | | GitHub [7.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.ComputerVision_6.0.0-preview.1/sdk/cognitiveservices/Vision.ComputerVision) |
-| Cosmos DB | NuGet [3.42.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.42.0)
NuGet [3.43.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.43.0-preview.0) | [docs](/dotnet/api/overview/azure/cosmosdb) | GitHub [3.42.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
+| Cosmos DB | NuGet [3.42.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.42.0)
NuGet [3.43.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.43.0-preview.0) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/cosmosdb) | GitHub [3.42.0](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/3.12.0/Microsoft.Azure.Cosmos) |
| Custom Image Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingCustomImageSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingCustomImageSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingCustomImageSearch) |
| Custom Image Search | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.CustomImageSearch/2.0.0) | | |
| Custom Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingCustomSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingCustomSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingCustomSearch) |
@@ -386,15 +386,15 @@
| Entity Search | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.EntitySearch/2.0.0) | | |
| Event Hubs - Service Fabric Processor | NuGet [0.5.4](https://www.nuget.org/packages/Microsoft.Azure.EventHubs.ServiceFabricProcessor/0.5.4) | | GitHub [0.5.4](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.EventHubs.ServiceFabricProcessor_0.5.4/sdk/eventhub/Microsoft.Azure.EventHubs.ServiceFabricProcessor/) |
| Face | NuGet [2.8.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.Face/2.8.0-preview.3) | | GitHub [2.8.0-preview.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Vision.Face_2.6.0-preview.1/sdk/cognitiveservices/Vision.Face) |
-| Feature Management | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.FeatureManagement/3.0.0) | [docs](/dotnet/api/microsoft.featuremanagement) | |
+| Feature Management | NuGet [3.0.0](https://www.nuget.org/packages/Microsoft.FeatureManagement/3.0.0) | [docs](https://learn.microsoft.com/dotnet/api/microsoft.featuremanagement) | |
| Gallery | NuGet [2.6.2-preview](https://www.nuget.org/packages/Microsoft.Azure.Gallery/2.6.2-preview) | | |
| HDInsight - Job | NuGet [3.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.HDInsight.Job/3.0.0-preview.3) | | GitHub [3.0.0-preview.3](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.HDInsight.Job_3.0.0-preview.3/sdk/hdinsight/Microsoft.Azure.HDInsight.Job/) |
| Image Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingImageSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingImageSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingImageSearch) |
| Image Search | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.ImageSearch/2.0.0) | | |
| IoT Edge Function | NuGet [3.5.3](https://www.nuget.org/packages/Microsoft.Azure.IoT.Edge.Function/3.5.3) | | |
| IoT Plug and Play - Devices Client | NuGet [1.42.3](https://www.nuget.org/packages/Microsoft.Azure.Devices.Client/1.42.3)
NuGet [2.0.0-preview007](https://www.nuget.org/packages/Microsoft.Azure.Devices.Client/2.0.0-preview007) | | |
-| Kusto Data | NuGet [9.3.1](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Data/9.3.1) | [docs](/azure/data-explorer/kusto/api/netfx/about-kusto-data) | GitHub [9.3.1](https://github.com/Azure/azure-kusto-dotnet) |
-| Kusto Ingest | NuGet [9.3.1](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Ingest/9.3.1) | [docs](/azure/data-explorer/kusto/api/netfx/about-kusto-ingest) | GitHub [9.3.1](https://github.com/Azure/azure-kusto-dotnet) |
+| Kusto Data | NuGet [9.3.1](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Data/9.3.1) | [docs](https://learn.microsoft.com/azure/data-explorer/kusto/api/netfx/about-kusto-data) | GitHub [9.3.1](https://github.com/Azure/azure-kusto-dotnet) |
+| Kusto Ingest | NuGet [9.3.1](https://www.nuget.org/packages/Microsoft.Azure.Kusto.Ingest/9.3.1) | [docs](https://learn.microsoft.com/azure/data-explorer/kusto/api/netfx/about-kusto-ingest) | GitHub [9.3.1](https://github.com/Azure/azure-kusto-dotnet) |
| Local Search | NuGet [1.0.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingLocalSearch/1.0.0-preview.1) | | GitHub [1.0.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingLocalSearch_1.0.0-preview.1/sdk/cognitiveservices/Search.BingLocalSearch) |
| Local Search | NuGet [0.9.0-preview](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.LocalSearch/0.9.0-preview) | | |
| LUIS Authoring | NuGet [3.1.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.LUIS.Authoring/3.1.0)
NuGet [3.2.0-preview.5](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.LUIS.Authoring/3.2.0-preview.5) | | GitHub [3.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Language.LUIS.Authoring_3.2.0-preview.3/sdk/cognitiveservices/Language.LUIS.Authoring) |
@@ -424,7 +424,7 @@
| News Search | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.NewsSearch/2.0.0) | | |
| Notification Hubs | NuGet [4.2.0](https://www.nuget.org/packages/Microsoft.Azure.NotificationHubs/4.2.0) | | GitHub [4.2.0](https://github.com/Azure/azure-notificationhubs-dotnet) |
| Personalizer | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Personalizer/1.0.0) | | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Personalizer_1.0.0/sdk/cognitiveservices/Personalizer) |
-| Relay | NuGet [3.0.1](https://www.nuget.org/packages/Microsoft.Azure.Relay/3.0.1) | [docs](/dotnet/api/overview/azure/service-bus-relay) | GitHub [3.0.1](https://github.com/Azure/azure-relay-dotnet/tree/2.0.1) |
+| Relay | NuGet [3.0.1](https://www.nuget.org/packages/Microsoft.Azure.Relay/3.0.1) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/service-bus-relay) | GitHub [3.0.1](https://github.com/Azure/azure-relay-dotnet/tree/2.0.1) |
| Schema Registry - Avro | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Kafka.SchemaRegistry.Avro/1.0.0-beta.1) | | |
| Schema Registry - JSON | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Kafka.SchemaRegistry.Json/1.0.0-beta.1) | | |
| Search - Common | NuGet [10.1.0](https://www.nuget.org/packages/Microsoft.Azure.Search.Common/10.1.0) | | GitHub [10.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Search.Common_10.1.0/sdk/search/Microsoft.Azure.Search.Common/) |
@@ -435,7 +435,7 @@
| Speech Xamarin iOS | NuGet [1.25.0](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech.Xamarin.iOS/1.25.0) | | |
| Spell Check | NuGet [4.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.SpellCheck/4.1.0-preview.1) | | GitHub [4.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Language.SpellCheck_4.1.0-preview.1/sdk/cognitiveservices/Language.SpellCheck) |
| Spring Cloud Client | NuGet [2.0.0-preview.3](https://www.nuget.org/packages/Microsoft.Azure.SpringCloud.Client/2.0.0-preview.3) | | |
-| Storage - Files Data Lake | NuGet [2.0.1-alpha.1](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/2.0.1-alpha.1) | [docs](/dotnet/api/overview/azure/data-lake-store) | GitHub [2.0.1-alpha.1](https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha) |
+| Storage - Files Data Lake | NuGet [2.0.1-alpha.1](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store/2.0.1-alpha.1) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/data-lake-store) | GitHub [2.0.1-alpha.1](https://github.com/Azure/azure-data-lake-store-net/tree/1.2.3-alpha) |
| Synapse Analytics | NuGet [0.1.0-preview](https://www.nuget.org/packages/Microsoft.Azure.Synapse/0.1.0-preview) | | GitHub [0.1.0-preview](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Synapse_0.1.0-preview/sdk/synapse/Microsoft.Azure.Synapse/) |
| Tables | NuGet [2.1.2](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.Table/2.1.2) | | |
| Video Search | NuGet [2.1.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Search.BingVideoSearch/2.1.0-preview.1) | | GitHub [2.1.0-preview.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.CognitiveServices.Search.BingVideoSearch_2.1.0-preview.1/sdk/cognitiveservices/Search.BingVideoSearch) |
@@ -460,7 +460,7 @@
| Functions extension for Azure SQL and SQL Server | NuGet [3.0.534](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.0.534)
NuGet [3.1.169-preview](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Sql/3.1.169-preview) | | |
| Functions extension for Cosmos DB | NuGet [4.8.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB/4.8.0) | | GitHub [4.8.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/cosmos-v3.0.7/src/WebJobs.Extensions.CosmosDB) |
| Functions extension for DocumentDB | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DocumentDB/1.3.0) | | GitHub [1.3.0](https://github.com/Azure/azure-webjobs-sdk-extensions) |
-| Functions extension for Durable Task Framework | NuGet [2.13.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.13.0)
NuGet [3.0.0-rc.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.0.0-rc.2) | [docs](/dotnet/api/overview/azure/functions) | GitHub [2.13.0](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) |
+| Functions extension for Durable Task Framework | NuGet [2.13.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/2.13.0)
NuGet [3.0.0-rc.2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/3.0.0-rc.2) | [docs](https://learn.microsoft.com/dotnet/api/overview/azure/functions) | GitHub [2.13.0](https://github.com/Azure/azure-functions-durable-extension/tree/v2.2.2/src/WebJobs.Extensions.DurableTask) |
| Functions extension for Durable Task Framework - isolated worker | NuGet [1.1.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.1.0)
NuGet [1.2.0-rc.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask/1.2.0-rc.2) | | |
| Functions extension for HTTP | NuGet [3.2.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Http/3.2.0) | | GitHub [3.2.0](https://github.com/Azure/azure-webjobs-sdk-extensions/tree/v3.0.2/src/WebJobs.Extensions.Http) |
| Functions extension for IoT Edge | NuGet [1.0.7](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EdgeHub/1.0.7) | | GitHub [1.0.7](https://github.com/Azure/iotedge/tree/1.0.7/edge-hub) |
@@ -493,13 +493,13 @@
| Microsoft.Azure.Functions.Analyzers | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Analyzers/1.0.0) | | |
| Microsoft.Azure.Functions.Authentication.WebAssembly | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Authentication.WebAssembly/1.0.0)
NuGet [1.0.1-preview](https://www.nuget.org/packages/Microsoft.Azure.Functions.Authentication.WebAssembly/1.0.1-preview) | | |
| Microsoft.Azure.Functions.Worker | NuGet [1.23.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker/1.23.0) | | |
-| Microsoft.Azure.Functions.Worker.ApplicationInsights | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ApplicationInsights/1.3.0) | | |
+| Microsoft.Azure.Functions.Worker.ApplicationInsights | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ApplicationInsights/1.4.0) | | |
| Microsoft.Azure.Functions.Worker.Core | NuGet [1.19.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Core/1.19.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Abstractions | NuGet [1.3.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Abstractions/1.3.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights | NuGet [1.0.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ApplicationInsights/1.0.0-preview4) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.CosmosDB | NuGet [4.10.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.CosmosDB/4.10.0) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.CosmosDB | NuGet [4.11.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.CosmosDB/4.11.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.EventGrid | NuGet [3.4.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventGrid/3.4.2) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.EventHubs | NuGet [6.3.5](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventHubs/6.3.5) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.EventHubs | NuGet [6.3.6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.EventHubs/6.3.6) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Http | NuGet [3.2.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http/3.2.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Kafka | NuGet [3.10.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kafka/3.10.1) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Kusto | NuGet [1.0.10-Preview](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Kusto/1.0.10-Preview) | | |
@@ -507,14 +507,14 @@
| Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ | NuGet [2.0.3](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.RabbitMQ/2.0.3) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Rpc | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Rpc/1.0.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.SendGrid | NuGet [3.0.3](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.SendGrid/3.0.3) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | NuGet [5.21.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ServiceBus/5.21.0) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.SignalRService | NuGet [1.14.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.SignalRService/1.14.0) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.ServiceBus | NuGet [5.22.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.ServiceBus/5.22.0) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.SignalRService | NuGet [1.14.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.SignalRService/1.14.1) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Sql | NuGet [3.0.534](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Sql/3.0.534)
NuGet [3.1.169-preview](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Sql/3.1.169-preview) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage | NuGet [6.6.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage/6.6.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs | NuGet [6.6.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage.Blobs/6.6.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues | NuGet [5.5.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues/5.5.0) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Storage.Tables | NuGet [1.0.0-preview1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Storage.Tables/1.0.0-preview1) | | |
-| Microsoft.Azure.Functions.Worker.Extensions.Tables | NuGet [1.4.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Tables/1.4.1) | | |
+| Microsoft.Azure.Functions.Worker.Extensions.Tables | NuGet [1.4.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Tables/1.4.2) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Timer | NuGet [4.3.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Timer/4.3.1) | | |
| Microsoft.Azure.Functions.Worker.Extensions.Warmup | NuGet [4.0.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Warmup/4.0.2) | | |
| Microsoft.Azure.Functions.Worker.Grpc | NuGet [1.17.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Grpc/1.17.0) | | |
diff --git a/docs/azure/sdk/authentication/additional-methods.md b/docs/azure/sdk/authentication/additional-methods.md
index 0e11707ab6694..06602ed7e94f5 100644
--- a/docs/azure/sdk/authentication/additional-methods.md
+++ b/docs/azure/sdk/authentication/additional-methods.md
@@ -1,6 +1,6 @@
---
title: Additional methods to authenticate to Azure from .NET apps
-description: This article describes additional, less common methods you can use to authenticate your .NET app to Azure resources.
+description: This article describes additional, less common methods you can use to authenticate your .NET app to Azure resources.
ms.topic: how-to
ms.custom: devx-track-dotnet, engagement-fy23
ms.date: 08/15/2024
@@ -101,7 +101,7 @@ The following example shows how to enable sign-in with the default system accoun
:::code language="csharp" source="../snippets/authentication/additional-auth/interactive/SilentBrokeredAuth.cs" highlight="16-24":::
-Once you opt into this behavior, the credential attempts to sign in by asking the underlying Microsoft Authentication Library (MSAL) to perform the sign-in for the default system account. If the sign-in fails, the credential falls back to displaying the account picker dialog, from which the user can select the appropriate account.
+Once you opt in to this behavior, the credential attempts to sign in by asking the underlying Microsoft Authentication Library (MSAL) to perform the sign-in for the default system account. If the sign-in fails, the credential falls back to displaying the account picker dialog, from which the user can select the appropriate account.
## Device code authentication
diff --git a/docs/azure/sdk/protocol-convenience-methods.md b/docs/azure/sdk/protocol-convenience-methods.md
index 52b3bfb5a0ccb..3124bb39a6867 100644
--- a/docs/azure/sdk/protocol-convenience-methods.md
+++ b/docs/azure/sdk/protocol-convenience-methods.md
@@ -1,9 +1,9 @@
---
title: Understand Azure SDK client library method types
-description: Learn about the key differences between Azure SDK client library protocol and convenience methods.
+description: Learn about the key differences between protocol and convenience methods in the Azure SDK client libraries for .NET.
ms.topic: conceptual
ms.custom: devx-track-dotnet, engagement-fy23, devx-track-arm-template
-ms.date: 08/29/2024
+ms.date: 08/30/2024
---
# Azure SDK for .NET protocol and convenience methods overview
@@ -15,7 +15,6 @@ The Azure SDK client libraries provide an interface to Azure services by transla
An Azure SDK for .NET client library can expose two different categories of methods to make requests to an Azure service:
- **Protocol methods** provide a thin wrapper around the underlying REST API for a corresponding Azure service. These methods map primitive input parameters to HTTP request values and return a raw HTTP response object.
-
- **Convenience methods** provide a convenience layer over the lower-level protocol layer to add support for the .NET type system and other benefits. Convenience methods accept primitives or .NET model types as parameters and map them to the body of an underlying REST API request. These methods also handle various details of request and response management to allow developers to focus on sending and receiving data objects, instead of lower-level concerns.
### Azure SDK client library dependency patterns
@@ -23,7 +22,6 @@ An Azure SDK for .NET client library can expose two different categories of meth
Protocol and convenience methods implement slightly different patterns based on the underlying package dependency chain of the respective library. An Azure SDK for .NET client library depends on one of two different foundational libraries:
- [**Azure.Core**](/dotnet/api/overview/azure/core-readme) provides shared primitives, abstractions, and helpers for building modern Azure SDK client libraries. These libraries follow the [Azure SDK Design Guidelines for .NET](https://azure.github.io/azure-sdk/dotnet_introduction.html) and use package names and namespaces prefixed with *Azure*, such as [`Azure.Storage.Blobs`](/dotnet/api/overview/azure/storage.blobs-readme).
-
- [**System.ClientModel**](/dotnet/api/overview/azure/system.clientmodel-readme) is a core library that provides shared primitives, abstractions, and helpers for .NET service client libraries. The `System.ClientModel` library is a general purpose toolset designed to help build libraries for various platforms and services, whereas the `Azure.Core` library is specifically designed for building Azure client libraries.
> [!NOTE]
@@ -34,8 +32,8 @@ The following table compares some of the request and response types used by prot
| Request or response concern | Azure.Core | System.ClientModel |
|-------------------------------|----------------------------------|-------------------------------------------------------|
| Request body | | |
-| Advanced options | | |
-| Raw HTTP Response | | |
+| Advanced request options | | |
+| Raw HTTP response | | |
| Return type with output model | | |
The sections ahead provide implementation examples of these concepts.
@@ -52,7 +50,7 @@ Azure SDK client libraries adhering to the [latest design guidelines](https://az
The following code uses a `ContentSafetyClient` to call the `AnalyzeText` convenience method:
-:::code source="snippets/protocol-convenience-methods/AzureCoreConvenience/Program.cs" highlight="10":::
+:::code source="snippets/protocol-convenience-methods/AzureCore/Convenience/Program.cs" highlight="10":::
The preceding code demonstrates the following `Azure.Core` convenience method patterns:
@@ -63,17 +61,18 @@ The preceding code demonstrates the following `Azure.Core` convenience method pa
The following code uses a `ContentSafetyClient` to call the `AnalyzeText` protocol method:
-:::code source="snippets/protocol-convenience-methods/AzureCoreProtocol/Program.cs" highlight="19-24":::
+:::code source="snippets/protocol-convenience-methods/AzureCore/Protocol/Program.cs" highlight="19-24":::
-The preceding code demonstrates the following protocol method patterns:
+The preceding code demonstrates the following `Azure.Core` protocol method patterns:
-- Uses the `RequestContent` type to supply data for the request body.
-- Uses the `RequestContext` type to configure request options.
-- Returns data using the `Response` type.
-- Reads content from the response data into a [dynamic](../../csharp/advanced-topics/interop/using-type-dynamic.md) type using . For more information, see [Announcing dynamic JSON in the Azure Core library for .NET](https://devblogs.microsoft.com/azure-sdk/dynamic-json-in-azure-core/).
+1. **Create the request**, using a `RequestContent` object for the request body.
+1. **Invoke the protocol method**, using a `RequestContext` object to configure request options.
+1. **Handle the response** by reading:
+ - The HTTP status code from the `Response` object to determine success or failure.
+ - Data from the `Response` object's content into a [dynamic](../../csharp/advanced-topics/interop/using-type-dynamic.md) type using . For more information, see [Announcing dynamic JSON in the Azure Core library for .NET](https://devblogs.microsoft.com/azure-sdk/dynamic-json-in-azure-core/).
> [!NOTE]
-> The preceding code configures the `ClientErrorBehaviors.NoThrow` for the `RequestOptions`. This option prevents non-success service responses status codes from throwing an exception, which means the app code should manually handle the response status code checks.
+> The preceding code configures the [ErrorOptions.NoThrow](/dotnet/api/azure.erroroptions) behavior. This option prevents non-success service responses status codes from throwing an exception, which means the app code should manually handle the response status code checks.
---
@@ -85,7 +84,7 @@ Some client libraries that connect to non-Azure services use patterns similar to
Consider the following code that uses a `ChatClient` to call the `CompleteChat` convenience method:
-:::code source="snippets/protocol-convenience-methods/SCMConvenience/Program.cs" highlight="9":::
+:::code source="snippets/protocol-convenience-methods/SCM/Convenience/Program.cs" highlight="9":::
The preceding code demonstrates the following `System.ClientModel` convenience method patterns:
@@ -96,14 +95,15 @@ The preceding code demonstrates the following `System.ClientModel` convenience m
The following code uses a `ChatClient` to call the `CompleteChat` protocol method:
-:::code source="snippets/protocol-convenience-methods/SCMProtocol/Program.cs" highlight="26-31":::
+:::code source="snippets/protocol-convenience-methods/SCM/Protocol/Program.cs" highlight="26-31":::
The preceding code demonstrates the following `System.ClientModel` protocol method patterns:
-- Uses the `BinaryContent` type as a parameter to supply data for the request body.
-- Uses the `RequestContext` type to configure request options.
-- Returns data using the `ClientResult` type.
-- Calls the method to access the response data.
+1. **Create the request**, using a `BinaryContent` object for the request body.
+1. **Invoke the protocol method**, using a `RequestOptions` object to configure request options.
+1. **Handle the response** by reading:
+ - The HTTP status code from the `PipelineResponse` object to determine success or failure.
+ - Data from the `PipelineResponse` object's content using `System.Text.Json` APIs.
> [!NOTE]
> The preceding code configures the [ClientErrorBehaviors.NoThrow](/dotnet/api/system.clientmodel.primitives.clienterrorbehaviors) behavior for the `RequestOptions`. This option prevents non-success service responses status codes from throwing an exception, which means the app code should manually handle the response status code checks.
@@ -113,9 +113,8 @@ A `System.ClientModel`-based response can be processed like a convenience model,
```diff
PipelineResponse response = result.GetRawResponse();
-- BinaryData output = result.GetRawResponse().Content;
-- using JsonDocument outputAsJson = JsonDocument.Parse(output);
-- JsonElement message = outputAsJson.RootElement
+- using JsonDocument output = JsonDocument.Parse(response.Content);
+- JsonElement message = output.RootElement
- .GetProperty("choices"u8)[0]
- .GetProperty("message"u8);
@@ -147,6 +146,4 @@ Protocol methods:
## See also
-- [Understanding the Azure Core library for .NET](https://devblogs.microsoft.com/azure-sdk/understanding-the-azure-core-library-for-net/)
-- [Azure.Core library for .NET](/dotnet/api/overview/azure/core-readme)
-- [System.ClientModel library for .NET](/dotnet/api/overview/azure/system.clientmodel-readme)
+[Understanding the Azure Core library for .NET](https://devblogs.microsoft.com/azure-sdk/understanding-the-azure-core-library-for-net/)
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreConvenience/AzureCoreConvenience.csproj b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Convenience/AzureCoreConvenience.csproj
similarity index 65%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreConvenience/AzureCoreConvenience.csproj
rename to docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Convenience/AzureCoreConvenience.csproj
index be600e9eafe69..4afa8435d8c1d 100644
--- a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreConvenience/AzureCoreConvenience.csproj
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Convenience/AzureCoreConvenience.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreConvenience/Program.cs b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Convenience/Program.cs
similarity index 100%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreConvenience/Program.cs
rename to docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Convenience/Program.cs
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Directory.Packages.props b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Directory.Packages.props
new file mode 100644
index 0000000000000..0faa968737aea
--- /dev/null
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Directory.Packages.props
@@ -0,0 +1,9 @@
+
+
+ true
+
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreProtocol/AzureCoreProtocol.csproj b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Protocol/AzureCoreProtocol.csproj
similarity index 65%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreProtocol/AzureCoreProtocol.csproj
rename to docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Protocol/AzureCoreProtocol.csproj
index be600e9eafe69..4afa8435d8c1d 100644
--- a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreProtocol/AzureCoreProtocol.csproj
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Protocol/AzureCoreProtocol.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreProtocol/Program.cs b/docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Protocol/Program.cs
similarity index 100%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/AzureCoreProtocol/Program.cs
rename to docs/azure/sdk/snippets/protocol-convenience-methods/AzureCore/Protocol/Program.cs
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMConvenience/Program.cs b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Convenience/Program.cs
similarity index 100%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/SCMConvenience/Program.cs
rename to docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Convenience/Program.cs
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMConvenience/SCMConvenience.csproj b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Convenience/SCMConvenience.csproj
similarity index 80%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/SCMConvenience/SCMConvenience.csproj
rename to docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Convenience/SCMConvenience.csproj
index 941128e2f2587..a3b95e116d1c7 100644
--- a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMConvenience/SCMConvenience.csproj
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Convenience/SCMConvenience.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Directory.Packages.props b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Directory.Packages.props
new file mode 100644
index 0000000000000..76d96c26a95dc
--- /dev/null
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Directory.Packages.props
@@ -0,0 +1,8 @@
+
+
+ true
+
+
+
+
+
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/Program.cs b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/Program.cs
similarity index 87%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/Program.cs
rename to docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/Program.cs
index 01b6de9152f53..bd5a0e3bf0d2c 100644
--- a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/Program.cs
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/Program.cs
@@ -38,9 +38,8 @@
throw new ClientResultException(response);
}
-BinaryData output = result.GetRawResponse().Content;
-using JsonDocument outputAsJson = JsonDocument.Parse(output);
-JsonElement message = outputAsJson.RootElement
+using JsonDocument output = JsonDocument.Parse(response.Content);
+JsonElement message = output.RootElement
.GetProperty("choices"u8)[0]
.GetProperty("message"u8);
diff --git a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/SCMProtocol.csproj b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/SCMProtocol.csproj
similarity index 80%
rename from docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/SCMProtocol.csproj
rename to docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/SCMProtocol.csproj
index 941128e2f2587..a3b95e116d1c7 100644
--- a/docs/azure/sdk/snippets/protocol-convenience-methods/SCMProtocol/SCMProtocol.csproj
+++ b/docs/azure/sdk/snippets/protocol-convenience-methods/SCM/Protocol/SCMProtocol.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/docs/core/compatibility/9.0.md b/docs/core/compatibility/9.0.md
index 73558aa1fafea..acde43053af90 100644
--- a/docs/core/compatibility/9.0.md
+++ b/docs/core/compatibility/9.0.md
@@ -22,6 +22,12 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff
| [DefaultKeyResolution.ShouldGenerateNewKey has altered meaning](aspnet-core/9.0/key-resolution.md) | Behavioral change | Preview 3 |
| [HostBuilder enables ValidateOnBuild/ValidateScopes in development environment](aspnet-core/9.0/hostbuilder-validation.md) | Behavioral change | Preview 7 |
+## Containers
+
+| Title | Type of change | Introduced version |
+|-----------------------------------------------------------------------------|-------------------|--------------------|
+| [.NET 9 container images no longer install zlib](containers/9.0/no-zlib.md) | Behavioral change | Preview 7 |
+
## Core .NET libraries
| Title | Type of change | Introduced version |
diff --git a/docs/core/compatibility/aspnet-core/5.0/blazor-routing-logic-changed.md b/docs/core/compatibility/aspnet-core/5.0/blazor-routing-logic-changed.md
index 03abb2cc2a49a..61aa8650ea356 100644
--- a/docs/core/compatibility/aspnet-core/5.0/blazor-routing-logic-changed.md
+++ b/docs/core/compatibility/aspnet-core/5.0/blazor-routing-logic-changed.md
@@ -26,7 +26,7 @@ The original behavior is considered a bug in the implementation. As a goal, the
## Recommended action
-If upgrading from previous versions of Blazor to 5.x, use the `PreferExactMatches` attribute on the `Router` component. This attribute can be used to opt into the correct behavior. For example:
+If upgrading from previous versions of Blazor to 5.x, use the `PreferExactMatches` attribute on the `Router` component. This attribute can be used to opt in to the correct behavior. For example:
```razor
diff --git a/docs/core/compatibility/aspnet-core/5.0/kestrel-configuration-changes-at-run-time-detected-by-default.md b/docs/core/compatibility/aspnet-core/5.0/kestrel-configuration-changes-at-run-time-detected-by-default.md
index 6ba9b27c84689..3af172cbe60bf 100644
--- a/docs/core/compatibility/aspnet-core/5.0/kestrel-configuration-changes-at-run-time-detected-by-default.md
+++ b/docs/core/compatibility/aspnet-core/5.0/kestrel-configuration-changes-at-run-time-detected-by-default.md
@@ -20,7 +20,7 @@ For discussion, see issue [dotnet/aspnetcore#22807](https://github.com/dotnet/as
Before ASP.NET Core 5.0 Preview 6, Kestrel didn't support changing configuration at run time.
-In ASP.NET Core 5.0 Preview 6, you could opt into the now-default behavior of reacting to configuration changes at run time. Opting in required binding Kestrel's configuration manually:
+In ASP.NET Core 5.0 Preview 6, you could opt in to the now-default behavior of reacting to configuration changes at run time. Opting in required binding Kestrel's configuration manually:
```csharp
using Microsoft.AspNetCore.Hosting;
diff --git a/docs/core/compatibility/aspnet-core/8.0/addratelimiter-requirement.md b/docs/core/compatibility/aspnet-core/8.0/addratelimiter-requirement.md
index 01f19e92a5ca9..2c0cb2ff20cc7 100644
--- a/docs/core/compatibility/aspnet-core/8.0/addratelimiter-requirement.md
+++ b/docs/core/compatibility/aspnet-core/8.0/addratelimiter-requirement.md
@@ -45,9 +45,9 @@ Rate-limiting middleware requires services that are only registered by calling <
## Recommended action
-Ensure that is called at application startup.
+Ensure that is called at application startup.
-For example, update `Configure(o => { })` to use :
+For example, update `Configure(o => { })` to use :
```csharp
var builder = WebApplication.CreateBuilder(args);
diff --git a/docs/core/compatibility/containers/8.0/app-user.md b/docs/core/compatibility/containers/8.0/app-user.md
index d2cd5c781d255..32f0d1240219b 100644
--- a/docs/core/compatibility/containers/8.0/app-user.md
+++ b/docs/core/compatibility/containers/8.0/app-user.md
@@ -6,7 +6,7 @@ ms.custom: linux-related-content
---
# New non-root 'app' user in Linux images
-The .NET Linux container images include a new non-root user named `app`. You can opt into this new user to provide security benefits. The name of this user may conflict with an existing user defined by an application's Dockerfile.
+The .NET Linux container images include a new non-root user named `app`. You can opt in to this new user to provide security benefits. The name of this user may conflict with an existing user defined by an application's Dockerfile.
## Previous behavior
diff --git a/docs/core/compatibility/containers/9.0/no-zlib.md b/docs/core/compatibility/containers/9.0/no-zlib.md
new file mode 100644
index 0000000000000..2ca096942f52e
--- /dev/null
+++ b/docs/core/compatibility/containers/9.0/no-zlib.md
@@ -0,0 +1,38 @@
+---
+title: ".NET 9 container images no longer install `zlib`"
+description: Learn about the breaking change in containers where .NET 9 container images no longer install the zlib package.
+ms.date: 08/29/2024
+---
+# .NET 9 container images no longer install zlib
+
+.NET 9 container images no longer install `zlib` since it's not a dependency of the .NET Runtime anymore.
+
+## Previous behavior
+
+In previous .NET versions, .NET container images installed the latest version of the `zlib` package from the Linux base image package repositories.
+
+## New behavior
+
+Starting in .NET 9, container images no longer install `zlib`. In addition, `zlib` is no longer updated in images where it's already installed from the base image.
+
+## Version introduced
+
+.NET 9 Preview 7
+
+## Type of change
+
+This change is a [behavioral change](../../categories.md#behavioral-change).
+
+## Reason for change
+
+In .NET 9, the Runtime contains a statically linked version of `zlib-ng`. As a result, the .NET Runtime no longer has a package dependency on `zlib`. To reduce .NET container image sizes, .NET 9 container images no longer install `zlib`, and no longer update `zlib` in images where it's already installed from the base Linux image.
+
+## Recommended action
+
+For most scenarios, no action is required. If your containerized .NET app has a direct package dependency on `zlib`, you should manually install it in your Dockerfile using the package manager.
+
+## Affected APIs
+
+None.
+
+## See also
diff --git a/docs/core/compatibility/core-libraries/7.0/filestream-compat-switch.md b/docs/core/compatibility/core-libraries/7.0/filestream-compat-switch.md
index b927d55913d5b..47d3cca1e6876 100644
--- a/docs/core/compatibility/core-libraries/7.0/filestream-compat-switch.md
+++ b/docs/core/compatibility/core-libraries/7.0/filestream-compat-switch.md
@@ -9,7 +9,7 @@ The `AppContext` switch `System.IO.UseNet5CompatFileStream` and the ability to u
## Previous behavior
-The legacy `FileStream` implementation was available and you could opt into it by using the `UseNet5CompatFileStream` switch or the `DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM` environment variable.
+The legacy `FileStream` implementation was available and you could opt in to it by using the `UseNet5CompatFileStream` switch or the `DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM` environment variable.
## New behavior
@@ -29,7 +29,7 @@ The `UseNet5CompatFileStream` switch and `DOTNET_SYSTEM_IO_USENET5COMPATFILESTRE
## Recommended action
-If you're currently using the switch (or the `DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM` environment variable) to opt into legacy code and are upgrading to .NET 7, the switch will no longer have any effect and you should remove it.
+If you're currently using the switch (or the `DOTNET_SYSTEM_IO_USENET5COMPATFILESTREAM` environment variable) to opt in to legacy code and are upgrading to .NET 7, the switch will no longer have any effect and you should remove it.
## Affected APIs
diff --git a/docs/core/compatibility/sdk/8.0/trimming-unsupported-targetframework.md b/docs/core/compatibility/sdk/8.0/trimming-unsupported-targetframework.md
index 66d1583599b43..5d4aab95f07e1 100644
--- a/docs/core/compatibility/sdk/8.0/trimming-unsupported-targetframework.md
+++ b/docs/core/compatibility/sdk/8.0/trimming-unsupported-targetframework.md
@@ -34,7 +34,7 @@ This change is a [behavioral change](../../categories.md#behavioral-change).
Allowing the use of `` in a .NET Standard or .NET Framework project might have given the false impression that this setting was trimming the output, when in fact it had no effect.
-Allowing the use of `` or `` in a .NET Standard or .NET Framework project meant that it was easy for library authors to opt into trimming, without being alerted about trim incompatibilities. Because the .NET Standard and .NET Framework reference assemblies aren't annotated for trimming, there were no warnings about uses of framework APIs that are incompatible with trimming.
+Allowing the use of `` or `` in a .NET Standard or .NET Framework project meant that it was easy for library authors to opt in to trimming, without being alerted about trim incompatibilities. Because the .NET Standard and .NET Framework reference assemblies aren't annotated for trimming, there were no warnings about uses of framework APIs that are incompatible with trimming.
## Recommended action
diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml
index f7265663726c0..f33cc3442daa4 100644
--- a/docs/core/compatibility/toc.yml
+++ b/docs/core/compatibility/toc.yml
@@ -14,6 +14,10 @@ items:
href: aspnet-core/9.0/key-resolution.md
- name: HostBuilder enables ValidateOnBuild/ValidateScopes in development environment
href: aspnet-core/9.0/hostbuilder-validation.md
+ - name: Containers
+ items:
+ - name: .NET 9 container images no longer install zlib
+ href: containers/9.0/no-zlib.md
- name: Core .NET libraries
items:
- name: Adding a ZipArchiveEntry sets header general-purpose bit flags
@@ -1184,12 +1188,10 @@ items:
href: configuration/7.0/diagnostics-config-section.md
- name: Containers
items:
- - name: .NET 6
+ - name: .NET 9
items:
- - name: Default console logger formatting in container images
- href: containers/6.0/console-formatter-default.md
- - name: Other breaking changes
- href: https://github.com/dotnet/dotnet-docker/discussions/3699
+ - name: .NET 9 container images no longer install zlib
+ href: containers/9.0/no-zlib.md
- name: .NET 8
items:
- name: "'ca-certificates' removed from Alpine images"
@@ -1206,6 +1208,12 @@ items:
href: containers/8.0/multi-platform-tags.md
- name: New 'app' user in Linux images
href: containers/8.0/app-user.md
+ - name: .NET 6
+ items:
+ - name: Default console logger formatting in container images
+ href: containers/6.0/console-formatter-default.md
+ - name: Other breaking changes
+ href: https://github.com/dotnet/dotnet-docker/discussions/3699
- name: Core .NET libraries
items:
- name: .NET 9
diff --git a/docs/core/compatibility/windows-forms/8.0/forms-scale-size-to-dpi.md b/docs/core/compatibility/windows-forms/8.0/forms-scale-size-to-dpi.md
index 22f03d592ad9c..54c024f22121a 100644
--- a/docs/core/compatibility/windows-forms/8.0/forms-scale-size-to-dpi.md
+++ b/docs/core/compatibility/windows-forms/8.0/forms-scale-size-to-dpi.md
@@ -15,7 +15,7 @@ Top-level forms in Windows Forms now scale their and values for top-level forms remained constant regardless of the application DPI mode and the DPI of the monitor where the form is rendered. This sometimes resulted in scaling limitations of the top-level form.
-You can also opt into this behavior in .NET 7. To opt in, set the `System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi` runtime configuration option described in the [Recommended action](#recommended-action) section.
+You can also opt in to this behavior in .NET 7. To opt in, set the `System.Windows.Forms.ScaleTopLevelFormMinMaxSizeForDpi` runtime configuration option described in the [Recommended action](#recommended-action) section.
## New behavior
diff --git a/docs/core/deploying/deploy-with-cli.md b/docs/core/deploying/deploy-with-cli.md
index 96aec7c7988a5..deb6da3335e42 100644
--- a/docs/core/deploying/deploy-with-cli.md
+++ b/docs/core/deploying/deploy-with-cli.md
@@ -37,7 +37,7 @@ If you want to target more than one framework, you can set the `//publish/`. For example, `dotnet publish -c Release -f net8.0` publishes to `./bin/Release/net8.0/publish/`. However, you can opt into a simplified output path and folder structure for all build outputs. For more information, see [Artifacts output layout](../sdk/artifacts-output.md).
+The default output directory of the [`dotnet publish`](../tools/dotnet-publish.md) command is `./bin///publish/`. For example, `dotnet publish -c Release -f net8.0` publishes to `./bin/Release/net8.0/publish/`. However, you can opt in to a simplified output path and folder structure for all build outputs. For more information, see [Artifacts output layout](../sdk/artifacts-output.md).
### Native dependencies
diff --git a/docs/core/extensions/create-satellite-assemblies.md b/docs/core/extensions/create-satellite-assemblies.md
index 7fd90843c0cd1..4311baf72aec4 100644
--- a/docs/core/extensions/create-satellite-assemblies.md
+++ b/docs/core/extensions/create-satellite-assemblies.md
@@ -93,7 +93,7 @@ For a complete list of options available with *al.exe*, see [Assembly Linker (*a
>
> ```
>
-> The .NET Core MSBuild task uses *csc.exe* instead of *al.exe* to generate satellite assemblies, by default. For more information, see [Make it easier to opt into "Core" satellite assembly generation](https://github.com/dotnet/msbuild/pull/2726).
+> The .NET Core MSBuild task uses *csc.exe* instead of *al.exe* to generate satellite assemblies, by default. For more information, see [Make it easier to opt in to "Core" satellite assembly generation](https://github.com/dotnet/msbuild/pull/2726).
## Satellite assemblies example
diff --git a/docs/core/sdk/artifacts-output.md b/docs/core/sdk/artifacts-output.md
index 8027d199303db..988508974857a 100644
--- a/docs/core/sdk/artifacts-output.md
+++ b/docs/core/sdk/artifacts-output.md
@@ -38,7 +38,7 @@ The following table shows examples of paths that might be created.
## How to configure
-To opt into the centralized output path format, add one of the following MSBuild properties to your *Directory.Build.props* file:
+To opt in to the centralized output path format, add one of the following MSBuild properties to your *Directory.Build.props* file:
- To use the default output location, set the `UseArtifactsOutput` property to `true`.
diff --git a/docs/core/tools/dotnet-environment-variables.md b/docs/core/tools/dotnet-environment-variables.md
index dc8e6f7f1f89a..a08322082b37e 100644
--- a/docs/core/tools/dotnet-environment-variables.md
+++ b/docs/core/tools/dotnet-environment-variables.md
@@ -207,8 +207,8 @@ Specifies the absolute path to a `dotnet` host (`dotnet.exe` on Windows, `dotnet
Tools that invoke `dotnet` during an SDK command should use the following algorithm to locate it:
-* if `DOTNET_HOST_PATH` is set, use that value directly
-* otherwise, rely on `dotnet` via the system's `PATH`
+- if `DOTNET_HOST_PATH` is set, use that value directly
+- otherwise, rely on `dotnet` via the system's `PATH`
> [!NOTE]
> `DOTNET_HOST_PATH` is not a general solution for locating the `dotnet` host. It is only intended to be used by tools that are invoked by the .NET SDK.
@@ -217,7 +217,7 @@ Tools that invoke `dotnet` during an SDK command should use the following algori
The [dotnet run](dotnet-run.md) command sets this variable to the selected launch profile.
-Given the following *launchSettings.json* file:
+Given the following _launchSettings.json_ file:
```json
{
@@ -232,7 +232,7 @@ Given the following *launchSettings.json* file:
}
```
-And the following *Program.cs* file:
+And the following _Program.cs_ file:
```csharp
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
@@ -241,21 +241,21 @@ Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
The following scenarios produce the output shown:
-* Launch profile specified and exists
+- Launch profile specified and exists
```dotnetcli
$ dotnet run --launch-profile First
DOTNET_LAUNCH_PROFILE=First
```
-* Launch profile not specified, first one selected
+- Launch profile not specified, first one selected
```dotnetcli
$ dotnet run
DOTNET_LAUNCH_PROFILE=First
```
-* Launch profile specified but does not exist
+- Launch profile specified but does not exist
```dotnetcli
$ dotnet run --launch-profile Third
@@ -264,8 +264,8 @@ The following scenarios produce the output shown:
DOTNET_LAUNCH_PROFILE=
```
-* Launch with no profile
-
+- Launch with no profile
+
```dotnetcli
$ dotnet run --no-launch-profile
DOTNET_LAUNCH_PROFILE=
@@ -297,7 +297,7 @@ Specifies whether to add global tools to the `PATH` environment variable. The de
### `DOTNET_CLI_TELEMETRY_OPTOUT`
-Specifies whether data about the .NET tools usage is collected and sent to Microsoft. Set to `true` to opt-out of the telemetry feature (values `true`, `1`, or `yes` accepted). Otherwise, set to `false` to opt into the telemetry features (values `false`, `0`, or `no` accepted). If not set, the default is `false` and the telemetry feature is active.
+Specifies whether data about the .NET tools usage is collected and sent to Microsoft. Set to `true` to opt-out of the telemetry feature (values `true`, `1`, or `yes` accepted). Otherwise, set to `false` to opt in to the telemetry features (values `false`, `0`, or `no` accepted). If not set, the default is `false` and the telemetry feature is active.
### `DOTNET_SKIP_FIRST_TIME_EXPERIENCE`
@@ -366,9 +366,9 @@ For more information, see [Single-file executables](../whats-new/dotnet-core-3-0
Specifies the location that supporting files for .NET CLI commands should be written to. For example:
-* User-writable paths for workload packs, manifests, and other supporting data.
-* First-run sentinel/lock files for aspects of the .NET CLI's first-run migrations and notification experiences.
-* The default .NET local tool installation location.
+- User-writable paths for workload packs, manifests, and other supporting data.
+- First-run sentinel/lock files for aspects of the .NET CLI's first-run migrations and notification experiences.
+- The default .NET local tool installation location.
### `DOTNET_CLI_CONTEXT_*`
diff --git a/docs/core/whats-new/dotnet-8/runtime.md b/docs/core/whats-new/dotnet-8/runtime.md
index e90cff8f10f79..790dea5d2b366 100644
--- a/docs/core/whats-new/dotnet-8/runtime.md
+++ b/docs/core/whats-new/dotnet-8/runtime.md
@@ -65,7 +65,7 @@ The API can throw an if the hard limit i
## Globalization for mobile apps
-Mobile apps on iOS, tvOS, and MacCatalyst can opt into a new *hybrid* globalization mode that uses a lighter ICU bundle. In hybrid mode, globalization data is partially pulled from the ICU bundle and partially from calls into Native APIs. Hybrid mode serves all the [locales supported by mobile](https://github.com/dotnet/icu/blob/dotnet/main/icu-filters/icudt_mobile.json).
+Mobile apps on iOS, tvOS, and MacCatalyst can opt in to a new *hybrid* globalization mode that uses a lighter ICU bundle. In hybrid mode, globalization data is partially pulled from the ICU bundle and partially from calls into Native APIs. Hybrid mode serves all the [locales supported by mobile](https://github.com/dotnet/icu/blob/dotnet/main/icu-filters/icudt_mobile.json).
Hybrid mode is most suitable for apps that can't work in invariant globalization mode and that use cultures that were trimmed from ICU data on mobile. You can also use it when you want to load a smaller ICU data file. (The *icudt_hybrid.dat* file is 34.5 % smaller than the default ICU data file *icudt.dat*.)
@@ -275,7 +275,7 @@ For more information, see [Use a built-in naming policy](../../../standard/seria
You can now deserialize onto read-only fields or properties (that is, those that don't have a `set` accessor).
-To opt into this support globally, set a new option, , to . If compatibility is a concern, you can also enable the functionality more granularly by placing the `[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]` attribute on specific types whose properties are to be populated, or on individual properties.
+To opt in to this support globally, set a new option, , to . If compatibility is a concern, you can also enable the functionality more granularly by placing the `[JsonObjectCreationHandling(JsonObjectCreationHandling.Populate)]` attribute on specific types whose properties are to be populated, or on individual properties.
For example, consider the following code that deserializes into a `CustomerInfo` type that has two read-only properties.
diff --git a/docs/core/whats-new/dotnet-8/sdk.md b/docs/core/whats-new/dotnet-8/sdk.md
index fa5fc8f18e588..eac0113d44d19 100644
--- a/docs/core/whats-new/dotnet-8/sdk.md
+++ b/docs/core/whats-new/dotnet-8/sdk.md
@@ -66,7 +66,7 @@ bin\Release\net8.0\
### Terminal build output
-`dotnet build` has a new option to produce more modernized build output. This *terminal logger* output groups errors with the project they came from, better differentiates the different target frameworks for multi-targeted projects, and provides real-time information about what the build is doing. To opt into the new output, use the `--tl` option. For more information about this option, see [dotnet build options](../../tools/dotnet-build.md#options).
+`dotnet build` has a new option to produce more modernized build output. This *terminal logger* output groups errors with the project they came from, better differentiates the different target frameworks for multi-targeted projects, and provides real-time information about what the build is doing. To opt in to the new output, use the `--tl` option. For more information about this option, see [dotnet build options](../../tools/dotnet-build.md#options).
### Simplified output paths
@@ -110,7 +110,7 @@ For more information, see ['dotnet pack' uses Release config](../../compatibilit
### `dotnet restore` security auditing
-Starting in .NET 8, you can opt into security checks for known vulnerabilities when dependency packages are restored. This auditing produces a report of security vulnerabilities with the affected package name, the severity of the vulnerability, and a link to the advisory for more details. When you run `dotnet add` or `dotnet restore`, warnings NU1901-NU1904 will appear for any vulnerabilities that are found. For more information, see [Audit for security vulnerabilities](../../tools/dotnet-restore.md#audit-for-security-vulnerabilities).
+Starting in .NET 8, you can opt in to security checks for known vulnerabilities when dependency packages are restored. This auditing produces a report of security vulnerabilities with the affected package name, the severity of the vulnerability, and a link to the advisory for more details. When you run `dotnet add` or `dotnet restore`, warnings NU1901-NU1904 will appear for any vulnerabilities that are found. For more information, see [Audit for security vulnerabilities](../../tools/dotnet-restore.md#audit-for-security-vulnerabilities).
### Template engine
diff --git a/docs/core/whats-new/dotnet-9/sdk.md b/docs/core/whats-new/dotnet-9/sdk.md
index 70a4395280d79..f5cfa5f46250a 100644
--- a/docs/core/whats-new/dotnet-9/sdk.md
+++ b/docs/core/whats-new/dotnet-9/sdk.md
@@ -151,7 +151,7 @@ Configured to use loose manifests when installing new manifests.
Install Type: Msi
```
-In this example, the SDK installation is in 'manifest' mode, where updates are installed as they're available. To opt into the new mode, add a `--version` option to a `dotnet workload install` or `dotnet workload update` command. You can also explicitly control your mode of operation using the new `dotnet workload config` command:
+In this example, the SDK installation is in 'manifest' mode, where updates are installed as they're available. To opt in to the new mode, add a `--version` option to a `dotnet workload install` or `dotnet workload update` command. You can also explicitly control your mode of operation using the new `dotnet workload config` command:
```dotnetcli
> dotnet workload config --update-mode workload-set
diff --git a/docs/core/whats-new/dotnet-core-2-1.md b/docs/core/whats-new/dotnet-core-2-1.md
index fc82b6b638bd4..68350bc43b329 100644
--- a/docs/core/whats-new/dotnet-core-2-1.md
+++ b/docs/core/whats-new/dotnet-core-2-1.md
@@ -1,7 +1,7 @@
---
title: What's new in .NET Core 2.1
description: Learn about the new features found in .NET Core 2.1.
-dev_langs:
+dev_langs:
- "csharp"
- "vb"
ms.date: 10/10/2018
@@ -46,7 +46,7 @@ A number of tools that were available only on a per project basis using `DotnetC
```
Note the `--` option that precedes the `--verbose` option. It delimits the options passed directly to the `dotnet watch` command from the arguments that are passed to the child `dotnet` process. Without it, the `--verbose` option applies to the `dotnet watch` command, not the `dotnet build` command.
-
+
For more information, see [Develop ASP.NET Core apps using dotnet watch](/aspnet/core/tutorials/dotnet-watch).
- `dotnet dev-certs` generates and manages certificates used during development in ASP.NET Core applications.
@@ -140,7 +140,7 @@ One of the important tasks performed by the JIT compiler is optimizing code exec
- A **second tier**, which generates optimized code for those methods that are executed frequently. The second tier of compilation is performed in parallel for enhanced performance.
-You can opt into tiered compilation in either of two ways.
+You can opt in to tiered compilation in either of two ways.
- To use tiered compilation in all projects that use the .NET Core 2.1 SDK, set the following environment variable:
diff --git a/docs/csharp/language-reference/keywords/out.md b/docs/csharp/language-reference/keywords/out.md
index 56ab923b5f5d9..7c7c36ef88e86 100644
--- a/docs/csharp/language-reference/keywords/out.md
+++ b/docs/csharp/language-reference/keywords/out.md
@@ -27,7 +27,7 @@ The `out` keyword is especially useful when a method needs to return more than o
//Calculate the circumference and area of a circle, returning the results to Main().
CalculateCircumferenceAndArea(radiusValue, out double circumferenceResult, out var areaResult);
System.Console.WriteLine($"Circumference of a circle with a radius of {radiusValue} is {circumferenceResult}.");
- System.Console.WriteLine($"Are of a circle with a radius of {radiusValue} is {areaResult}.");
+ System.Console.WriteLine($"Area of a circle with a radius of {radiusValue} is {areaResult}.");
Console.ReadLine();
}
diff --git a/docs/csharp/roslyn-sdk/source-generators-overview.md b/docs/csharp/roslyn-sdk/source-generators-overview.md
index 9fdc3fb8ea646..e1478e014002e 100644
--- a/docs/csharp/roslyn-sdk/source-generators-overview.md
+++ b/docs/csharp/roslyn-sdk/source-generators-overview.md
@@ -49,7 +49,7 @@ With a Source Generator, the controller discovery phase of startup could instead
Source Generators can improve performance in ways that aren't limited to reflection at run time to discover types as well. Some scenarios involve calling the MSBuild C# task (called CSC) multiple times so they can inspect data from a compilation. As you might imagine, calling the compiler more than once affects the total time it takes to build your app. We're investigating how Source Generators can be used to obviate the need for juggling MSBuild tasks like this, since Source generators don't just offer some performance benefits, but also allows tools to operate at the right level of abstraction.
-Another capability Source Generators can offer is obviating the use of some "stringly typed" APIs, such as how ASP.NET Core routing between controllers and razor pages work. With a Source Generator, routing can be strongly typed with the necessary strings being generated as a compile-time detail. This would reduce the number of times a mistyped string literal leads to a request not hitting the correct controller.
+Another capability Source Generators can offer is obviating the use of some "strongly typed" APIs, such as how ASP.NET Core routing between controllers and razor pages work. With a Source Generator, routing can be strongly typed with the necessary strings being generated as a compile-time detail. This would reduce the number of times a mistyped string literal leads to a request not hitting the correct controller.
## Get started with source generators
diff --git a/docs/csharp/tutorials/nullable-reference-types.md b/docs/csharp/tutorials/nullable-reference-types.md
index 01e19bccf7f07..c888f7d09344a 100644
--- a/docs/csharp/tutorials/nullable-reference-types.md
+++ b/docs/csharp/tutorials/nullable-reference-types.md
@@ -31,7 +31,7 @@ The code you'll write for this sample expresses that intent, and the compiler en
## Create the application and enable nullable reference types
-Create a new console application either in Visual Studio or from the command line using `dotnet new console`. Name the application `NullableIntroduction`. Once you've created the application, you'll need to specify that the entire project compiles in an enabled **nullable annotation context**. Open the *.csproj* file and add a `Nullable` element to the `PropertyGroup` element. Set its value to `enable`. You must opt into the **nullable reference types** feature in projects earlier than C# 11. That's because once the feature is turned on, existing reference variable declarations become **non-nullable reference types**. While that decision will help find issues where existing code may not have proper null-checks, it may not accurately reflect your original design intent:
+Create a new console application either in Visual Studio or from the command line using `dotnet new console`. Name the application `NullableIntroduction`. Once you've created the application, you'll need to specify that the entire project compiles in an enabled **nullable annotation context**. Open the *.csproj* file and add a `Nullable` element to the `PropertyGroup` element. Set its value to `enable`. You must opt in to the **nullable reference types** feature in projects earlier than C# 11. That's because once the feature is turned on, existing reference variable declarations become **non-nullable reference types**. While that decision will help find issues where existing code may not have proper null-checks, it may not accurately reflect your original design intent:
```xml
enable
diff --git a/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md b/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md
index 2190267067dd8..155755fc21cab 100644
--- a/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md
+++ b/docs/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md
@@ -52,7 +52,7 @@ Defines one or more switches used by the class to provi
## Remarks
- Starting with .NET Framework 4.6, the `` element in a configuration file allows callers of an API to determine whether their app can take advantage of new functionality or preserve compatibility with previous versions of a library. For example, if the behavior of an API has changed between two versions of a library, the `` element allows callers of that API to opt out of the new behavior on versions of the library that support the new functionality. For apps that call APIs in the .NET Framework, the `` element can also allow callers whose apps target an earlier version of the .NET Framework to opt into new functionality if their app is running on a version of the .NET Framework that includes that functionality.
+ Starting with .NET Framework 4.6, the `` element in a configuration file allows callers of an API to determine whether their app can take advantage of new functionality or preserve compatibility with previous versions of a library. For example, if the behavior of an API has changed between two versions of a library, the `` element allows callers of that API to opt out of the new behavior on versions of the library that support the new functionality. For apps that call APIs in the .NET Framework, the `` element can also allow callers whose apps target an earlier version of the .NET Framework to opt in to new functionality if their app is running on a version of the .NET Framework that includes that functionality.
The `value` attribute of the `` element consists of a single string that consists of one or more semicolon-delimited name/value pairs. Each name identifies a compatibility switch, and its corresponding value is a Boolean (`true` or `false`) that indicates whether the switch is set. By default, the switch is `false`, and libraries provide the new functionality. They only provide the previous functionality if the switch is set (that is, its value is `true`). This allows libraries to provide new behavior for an existing API while allowing callers who depend on the previous behavior to opt out of the new functionality.
diff --git a/docs/framework/configure-apps/file-schema/runtime/netfx40-pinvokestackresilience-element.md b/docs/framework/configure-apps/file-schema/runtime/netfx40-pinvokestackresilience-element.md
index 5d75281993a14..6a8a5cfa9fd26 100644
--- a/docs/framework/configure-apps/file-schema/runtime/netfx40-pinvokestackresilience-element.md
+++ b/docs/framework/configure-apps/file-schema/runtime/netfx40-pinvokestackresilience-element.md
@@ -13,7 +13,7 @@ Specifies whether the runtime automatically fixes incorrect platform invoke decl
[**\**](../configuration-element.md)\
[**\**](runtime-element.md)\
- **\**
+ **\**
## Syntax
@@ -65,7 +65,7 @@ This element can be used only in the application configuration file.
## Example
-The following example shows how to opt into increased resilience against incorrect platform invoke declarations for an application, at the cost of slower transitions between managed and unmanaged code.
+The following example shows how to opt in to increased resilience against incorrect platform invoke declarations for an application, at the cost of slower transitions between managed and unmanaged code.
```xml
diff --git a/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md b/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md
index 896be6f3cd4a9..2670699050aae 100644
--- a/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md
+++ b/docs/framework/configure-apps/file-schema/winforms/windows-forms-add-configuration-element.md
@@ -71,7 +71,7 @@ Windows Forms apps that run under Windows versions starting with Windows 10 Crea
- Improvements in the scaling and layout of a number of Windows Forms controls, such as the control and the control.
-High DPI awareness is an opt-in feature; by default, the value of `DpiAwareness` is `false`. You can opt into Windows Forms' support for DPI awareness by setting the value of this key to `PerMonitorV2` in the application configuration file. If DPI awareness is enabled, all individual DPI features are also enabled. These include:
+High DPI awareness is an opt-in feature; by default, the value of `DpiAwareness` is `false`. You can opt in to Windows Forms' support for DPI awareness by setting the value of this key to `PerMonitorV2` in the application configuration file. If DPI awareness is enabled, all individual DPI features are also enabled. These include:
- DPI changed messages, which are controlled by the `DisableDpiChangedMessageHandling` key.
diff --git a/docs/framework/migration-guide/mitigation-wpf-layout.md b/docs/framework/migration-guide/mitigation-wpf-layout.md
index 91ce477c79d44..546a5bd4a245a 100644
--- a/docs/framework/migration-guide/mitigation-wpf-layout.md
+++ b/docs/framework/migration-guide/mitigation-wpf-layout.md
@@ -6,34 +6,34 @@ ms.assetid: 805ffd7f-8d1e-427e-a648-601ca8ec37a5
---
# Mitigation: WPF Layout
-The layout of WPF controls can change slightly.
-
-## Impact
-
- As a result of this change:
-
-- The width or height of elements may grow or shrink by at most one pixel.
-
-- The placement of an object can move by at most one pixel.
-
-- Centered elements can be vertically or horizontally off center by at most one pixel.
-
- By default, this new layout is enabled only for apps that target .NET Framework 4.6.
-
-## Mitigation
-
- Since this modification tends to eliminate clipping of the right or bottom of WPF controls at high DPIs, apps that target earlier versions of the .NET Framework but are running on the .NET Framework 4.6 can opt into this new behavior by adding the following line to the `` section of the app.config file:
-
-```xml
-
-```
-
- Apps that target the .NET Framework 4.6 but want WPF controls to render using the previous layout algorithm can do so by adding the following line to the `` section of the app.config file:
-
-```xml
-
-```
-
+The layout of WPF controls can change slightly.
+
+## Impact
+
+ As a result of this change:
+
+- The width or height of elements may grow or shrink by at most one pixel.
+
+- The placement of an object can move by at most one pixel.
+
+- Centered elements can be vertically or horizontally off center by at most one pixel.
+
+ By default, this new layout is enabled only for apps that target .NET Framework 4.6.
+
+## Mitigation
+
+ Since this modification tends to eliminate clipping of the right or bottom of WPF controls at high DPIs, apps that target earlier versions of the .NET Framework but are running on the .NET Framework 4.6 can opt in to this new behavior by adding the following line to the `` section of the app.config file:
+
+```xml
+
+```
+
+ Apps that target the .NET Framework 4.6 but want WPF controls to render using the previous layout algorithm can do so by adding the following line to the `` section of the app.config file:
+
+```xml
+
+```
+
## See also
- [Application compatibility](application-compatibility.md)
diff --git a/docs/framework/migration-guide/mitigation-xml-schema-validation.md b/docs/framework/migration-guide/mitigation-xml-schema-validation.md
index 41df1f32d1945..0fd7eec92888c 100644
--- a/docs/framework/migration-guide/mitigation-xml-schema-validation.md
+++ b/docs/framework/migration-guide/mitigation-xml-schema-validation.md
@@ -2,37 +2,37 @@
title: "Mitigation: XML Schema Validation"
description: The XSD schema validation detects a violation of the unique constraint if a compound key is used and one key is empty in .NET Framework 4.6.
ms.date: "03/30/2017"
-dev_langs:
+dev_langs:
- "csharp"
- "vb"
ms.assetid: b73dd4f4-f2dc-47a2-9425-3896e92321fb
---
# Mitigation: XML Schema Validation
-In .NET Framework 4.6, XSD schema validation detects a violation of the unique constraint if a compound key is used and one key is empty.
-
-## Impact
-
- The impact of this change should be minimal: based on the schema specification, a schema validation error is expected if `xsd:unique` is violated by using a compound key with an empty key.
-
-## Mitigation
-
- Whether a schema validation error is detected if a compound key has one empty key is a configurable feature:
-
-- Starting with the apps that target .NET Framework 4.6, detection of the schema validation error is enabled by default; however, it is possible to opt out of it, so that the schema validation error will not be detected.
-
-- In apps that run under the .NET Framework 4.6 but target the .NET Framework 4.5.2 and earlier versions, a schema validation error is not detected by default; however, it is possible to opt into it, so that the schema validation error will be detected.
-
- This behavior can be configured by using the class to define the value of the `System.Xml.IgnoreEmptyKeySequences` switch. Because the switch's default value is `false` (empty key sequences are not ignored), apps that target the .NET Framework 4.6 can opt out of the behavior by using the following code to set the switch's value to `true`:
-
+In .NET Framework 4.6, XSD schema validation detects a violation of the unique constraint if a compound key is used and one key is empty.
+
+## Impact
+
+ The impact of this change should be minimal: based on the schema specification, a schema validation error is expected if `xsd:unique` is violated by using a compound key with an empty key.
+
+## Mitigation
+
+ Whether a schema validation error is detected if a compound key has one empty key is a configurable feature:
+
+- Starting with the apps that target .NET Framework 4.6, detection of the schema validation error is enabled by default; however, it is possible to opt out of it, so that the schema validation error will not be detected.
+
+- In apps that run under the .NET Framework 4.6 but target the .NET Framework 4.5.2 and earlier versions, a schema validation error is not detected by default; however, it is possible to opt in to it, so that the schema validation error will be detected.
+
+ This behavior can be configured by using the class to define the value of the `System.Xml.IgnoreEmptyKeySequences` switch. Because the switch's default value is `false` (empty key sequences are not ignored), apps that target the .NET Framework 4.6 can opt out of the behavior by using the following code to set the switch's value to `true`:
+
[!code-csharp[AppCompat.IgnoreEmptyKeySequences#1](../../../samples/snippets/csharp/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/cs/program.cs#1)]
- [!code-vb[AppCompat.IgnoreEmptyKeySequences#1](../../../samples/snippets/visualbasic/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/vb/module1.vb#1)]
-
- For apps that target the .NET Framework 4.5.2 and earlier versions, because the switch's default value is `true` (empty key sequences are ignored), it is possible to ensure that a compound key with an empty key does generate a schema validation error by using the following code to set the switch's value to `false`.
-
+ [!code-vb[AppCompat.IgnoreEmptyKeySequences#1](../../../samples/snippets/visualbasic/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/vb/module1.vb#1)]
+
+ For apps that target the .NET Framework 4.5.2 and earlier versions, because the switch's default value is `true` (empty key sequences are ignored), it is possible to ensure that a compound key with an empty key does generate a schema validation error by using the following code to set the switch's value to `false`.
+
[!code-csharp[AppCompat.IgnoreEmptyKeySequences#2](../../../samples/snippets/csharp/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/cs/program.cs#2)]
- [!code-vb[AppCompat.IgnoreEmptyKeySequences#2](../../../samples/snippets/visualbasic/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/vb/module1.vb#2)]
-
+ [!code-vb[AppCompat.IgnoreEmptyKeySequences#2](../../../samples/snippets/visualbasic/VS_Snippets_CLR/appcompat.ignoreemptykeysequences/vb/module1.vb#2)]
+
## See also
- [Application compatibility](application-compatibility.md)
diff --git a/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md b/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md
index 3d7b5d206c1d5..c754535085c9e 100644
--- a/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md
+++ b/docs/framework/tools/caspol-exe-code-access-security-policy-tool.md
@@ -22,7 +22,7 @@ ms.assetid: d2bf6123-7b0c-4e60-87ad-a39a1c3eb2e0
The Code Access Security (CAS) Policy tool (Caspol.exe) enables users and administrators to modify security policy for the machine policy level, the user policy level, and the enterprise policy level.
> [!IMPORTANT]
-> Starting with .NET Framework 4, Caspol.exe does not affect CAS policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. Any settings shown or modified by CasPol.exe will only affect applications that opt into using CAS policy.
+> Starting with .NET Framework 4, Caspol.exe does not affect CAS policy unless the [\ element](../configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element.md) is set to `true`. Any settings shown or modified by CasPol.exe will only affect applications that opt in to using CAS policy.
[!INCLUDE [cas-deprecated](../../../includes/cas-deprecated.md)]
diff --git a/docs/framework/whats-new/index.md b/docs/framework/whats-new/index.md
index 1a7001e5d5f19..01ef266d2f33e 100644
--- a/docs/framework/whats-new/index.md
+++ b/docs/framework/whats-new/index.md
@@ -401,7 +401,7 @@ Dim cStream = New CryptoStream(stream, transform, mode, leaveOpen:=true)
Starting with .NET Framework 4.7.2, the implementation of decompression operations in the class has changed to use native Windows APIs by default. Typically, this results in a substantial performance improvement.
-Support for decompression by using Windows APIs is enabled by default for applications that target .NET Framework 4.7.2. Applications that target earlier versions of .NET Framework but are running under .NET Framework 4.7.2 can opt into this behavior by adding the following [AppContext switch](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) to the application configuration file:
+Support for decompression by using Windows APIs is enabled by default for applications that target .NET Framework 4.7.2. Applications that target earlier versions of .NET Framework but are running under .NET Framework 4.7.2 can opt in to this behavior by adding the following [AppContext switch](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) to the application configuration file:
```xml
@@ -1231,7 +1231,7 @@ For example, the following XAML groups data by age, sort the age groups in ascen
Touch keyboard support enables focus tracking in WPF applications by automatically invoking and dismissing the touch Keyboard in Windows 10 when the touch input is received by a control that can take textual input.
-In previous versions of .NET Framework, WPF applications can't opt into the focus tracking without disabling WPF pen/touch gesture support. As a result, WPF applications must choose between full WPF touch support or rely on Windows mouse promotion.
+In previous versions of .NET Framework, WPF applications can't opt in to the focus tracking without disabling WPF pen/touch gesture support. As a result, WPF applications must choose between full WPF touch support or rely on Windows mouse promotion.
**Per-monitor DPI**
diff --git a/docs/framework/whats-new/whats-new-in-accessibility.md b/docs/framework/whats-new/whats-new-in-accessibility.md
index 08068d2d2c954..8a0274f8f0ff5 100644
--- a/docs/framework/whats-new/whats-new-in-accessibility.md
+++ b/docs/framework/whats-new/whats-new-in-accessibility.md
@@ -17,7 +17,7 @@ ms.topic: whats-new
## Accessibility switches
-You can configure your app to opt into accessibility features if it targets .NET Framework 4.7 or an earlier version but is running on .NET Framework 4.7.1 or later. You can also configure your app to use legacy features (and not take advantage of accessibility features) if it targets .NET Framework 4.7.1 or later. Each .NET Framework version that includes accessibility features has a version-specific accessibility switch, which you add to the [``](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) element in the [``](../configure-apps/file-schema/runtime/index.md) section of the application's configuration file. The following are the supported switches:
+You can configure your app to opt in to accessibility features if it targets .NET Framework 4.7 or an earlier version but is running on .NET Framework 4.7.1 or later. You can also configure your app to use legacy features (and not take advantage of accessibility features) if it targets .NET Framework 4.7.1 or later. Each .NET Framework version that includes accessibility features has a version-specific accessibility switch, which you add to the [``](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) element in the [``](../configure-apps/file-schema/runtime/index.md) section of the application's configuration file. The following are the supported switches:
|Version|Switch|
|---|---|
@@ -381,7 +381,7 @@ The workflow designer includes the following changes in .NET Framework 4.8:
- Users who choose High Contrast themes will see improvements in the visibility of the Workflow Designer and its controls, like better contrast ratios between elements and more noticeable selection boxes used for focus elements.
-If your application targets .NET Framework 4.7.2 or an earlier version, you can opt into these changes by setting the `Switch.UseLegacyAccessibilityFeatures.3` [AppContext switch](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) to `false` in your application configuration file. For more information, see the [Taking advantage of accessibility enhancements](#taking-advantage-of-accessibility-enhancements) section in this article.
+If your application targets .NET Framework 4.7.2 or an earlier version, you can opt in to these changes by setting the `Switch.UseLegacyAccessibilityFeatures.3` [AppContext switch](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md) to `false` in your application configuration file. For more information, see the [Taking advantage of accessibility enhancements](#taking-advantage-of-accessibility-enhancements) section in this article.
## What's new in accessibility in .NET Framework 4.7.2
diff --git a/docs/fundamentals/apicompat/overview.md b/docs/fundamentals/apicompat/overview.md
index 9128e5cd31d27..2645fd691edd0 100644
--- a/docs/fundamentals/apicompat/overview.md
+++ b/docs/fundamentals/apicompat/overview.md
@@ -20,7 +20,7 @@ For more information about package validation, see [Package validation](package-
## Strict mode
-By default, the validation performs *compatibility* checks. However, you can also opt into *strict mode*. In strict mode, the validation performs *equality* checks. Equality means that no API additions or assembly changes, even compatible ones, have been made.
+By default, the validation performs *compatibility* checks. However, you can also opt in to *strict mode*. In strict mode, the validation performs *equality* checks. Equality means that no API additions or assembly changes, even compatible ones, have been made.
The use cases for strict mode include the following:
diff --git a/docs/fundamentals/code-analysis/configuration-files.md b/docs/fundamentals/code-analysis/configuration-files.md
index 31ed146175f31..98869d4807419 100644
--- a/docs/fundamentals/code-analysis/configuration-files.md
+++ b/docs/fundamentals/code-analysis/configuration-files.md
@@ -1,6 +1,6 @@
---
title: Configuration files for code analysis rules
-description: Learn about different configuration files to configure code analysis rules.
+description: Learn about different configuration files, including editorconfig and global config files, to configure code analysis rules.
ms.date: 07/07/2021
no-loc: ["EditorConfig"]
---
@@ -112,7 +112,7 @@ You can then customize your build to only include the configuration file in test
```xml
-
+
```
diff --git a/docs/fundamentals/code-analysis/style-rules/ide0303.md b/docs/fundamentals/code-analysis/style-rules/ide0303.md
index 7ded7cfd83f96..eb1e8a6337d3a 100644
--- a/docs/fundamentals/code-analysis/style-rules/ide0303.md
+++ b/docs/fundamentals/code-analysis/style-rules/ide0303.md
@@ -27,7 +27,7 @@ This rule flags places where a `Create()` method or a similar method that's desi
`Create()` methods are common for the immutable collections, for example, `ImmutableArray.Create(1, 2, 3)`.
> [!NOTE]
-> This rule requires more recent versions of the immutable APIs (for example, ), which opt into the collection-expression pattern.
+> This rule requires more recent versions of the immutable APIs (for example, ), which opt in to the collection-expression pattern.
## Options
diff --git a/docs/fundamentals/code-analysis/style-rules/ide0304.md b/docs/fundamentals/code-analysis/style-rules/ide0304.md
index 8ad68761b4e2d..965cafe503dbd 100644
--- a/docs/fundamentals/code-analysis/style-rules/ide0304.md
+++ b/docs/fundamentals/code-analysis/style-rules/ide0304.md
@@ -25,7 +25,7 @@ dev_langs:
This rule flags places where a `CreateBuilder()` or similar method is called to create a builder type that adds elements and finally constructs a collection type that has the attribute (for example, by calling ). Instead, a [collection expression](../../../csharp/language-reference/operators/collection-expressions.md) (`[...]`) could be used to initialize the collection.
> [!NOTE]
-> This rule requires more recent versions of the immutable APIs (for example, ), which opt into the collection-expression pattern.
+> This rule requires more recent versions of the immutable APIs (for example, ), which opt in to the collection-expression pattern.
## Options
diff --git a/docs/standard/serialization/system-text-json/polymorphism.md b/docs/standard/serialization/system-text-json/polymorphism.md
index 8fd32e6906e7c..8c778cebfe98d 100644
--- a/docs/standard/serialization/system-text-json/polymorphism.md
+++ b/docs/standard/serialization/system-text-json/polymorphism.md
@@ -493,7 +493,7 @@ Console.WriteLine(json)
### Handle unknown derived types
-To handle unknown derived types, you must opt into such support using an annotation on the base type. Consider the following type hierarchy:
+To handle unknown derived types, you must opt in to such support using an annotation on the base type. Consider the following type hierarchy:
```csharp
[JsonDerivedType(typeof(ThreeDimensionalPoint))]