diff --git a/docs/ai/tutorials/evaluate-with-reporting.md b/docs/ai/tutorials/evaluate-with-reporting.md index d597527ba7150..7f68c7d1dc015 100644 --- a/docs/ai/tutorials/evaluate-with-reporting.md +++ b/docs/ai/tutorials/evaluate-with-reporting.md @@ -77,7 +77,7 @@ Complete the following steps to create an MSTest project that connects to the `g **Scenario name** - The [scenario name](xref:Microsoft.Extensions.AI.Evaluation.Reporting.ScenarioRun.ScenarioName) is set to the fully qualified name of the current test method. However, you can set it to any string of your choice when you call . Here are some considerations for choosing a scenario name: + The [scenario name](xref:Microsoft.Extensions.AI.Evaluation.Reporting.ScenarioRun.ScenarioName) is set to the fully qualified name of the current test method. However, you can set it to any string of your choice when you call . Here are some considerations for choosing a scenario name: - When using disk-based storage, the scenario name is used as the name of the folder under which the corresponding evaluation results are stored. So it's a good idea to keep the name reasonably short and avoid any characters that aren't allowed in file and directory names. - By default, the generated evaluation report splits scenario names on `.` so that the results can be displayed in a hierarchical view with appropriate grouping, nesting, and aggregation. This is especially useful in cases where the scenario name is set to the fully qualified name of the corresponding test method, since it allows the results to be grouped by namespaces and class names in the hierarchy. However, you can also take advantage of this feature by including periods (`.`) in your own custom scenario names to create a reporting hierarchy that works best for your scenarios. @@ -94,7 +94,7 @@ Complete the following steps to create an MSTest project that connects to the `g A identifies: - - The set of evaluators that should be invoked for each that's created by calling . + - The set of evaluators that should be invoked for each that's created by calling . - The LLM endpoint that the evaluators should use (see ). - How and where the results for the scenario runs should be stored. - How LLM responses related to the scenario runs should be cached. @@ -171,4 +171,4 @@ Run the test using your preferred test workflow, for example, by using the CLI c - Navigate to the directory where the test results are stored (which is `C:\TestReports`, unless you modified the location when you created the ). In the `results` subdirectory, notice that there's a folder for each test run named with a timestamp (`ExecutionName`). Inside each of those folders is a folder for each scenario name—in this case, just the single test method in the project. That folder contains a JSON file with the all the data including the messages, response, and evaluation result. - Expand the evaluation. Here are a couple ideas: - Add an additional custom evaluator, such as [an evaluator that uses AI to determine the measurement system](https://github.com/dotnet/ai-samples/blob/main/src/microsoft-extensions-ai-evaluation/api/evaluation/Evaluators/MeasurementSystemEvaluator.cs) that's used in the response. - - Add another test method, for example, [a method that evaluates multiple responses](https://github.com/dotnet/ai-samples/blob/main/src/microsoft-extensions-ai-evaluation/api/reporting/ReportingExamples.Example02_SamplingAndEvaluatingMultipleResponses.cs) from the LLM. Since each response can be different, it's good to sample and evaluate at least a few responses to a question. In this case, you specify an iteration name each time you call . + - Add another test method, for example, [a method that evaluates multiple responses](https://github.com/dotnet/ai-samples/blob/main/src/microsoft-extensions-ai-evaluation/api/reporting/ReportingExamples.Example02_SamplingAndEvaluatingMultipleResponses.cs) from the LLM. Since each response can be different, it's good to sample and evaluate at least a few responses to a question. In this case, you specify an iteration name each time you call . diff --git a/docs/architecture/cloud-native/resilient-communications.md b/docs/architecture/cloud-native/resilient-communications.md index 7545274bd6580..8d5df090e1e84 100644 --- a/docs/architecture/cloud-native/resilient-communications.md +++ b/docs/architecture/cloud-native/resilient-communications.md @@ -84,8 +84,6 @@ The Azure cloud embraces Istio and provides direct support for it within Azure K - [Resilience in Azure whitepaper](https://azure.microsoft.com/mediahandler/files/resourcefiles/resilience-in-azure-whitepaper/Resilience%20in%20Azure.pdf) -- [network latency](https://www.techopedia.com/definition/8553/network-latency) - - [Redundancy](/azure/architecture/guide/design-principles/redundancy) - [geo-replication](/azure/sql-database/sql-database-active-geo-replication) diff --git a/docs/architecture/microservices/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot.md b/docs/architecture/microservices/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot.md index 9d47f0dca5654..d7488dec6d843 100644 --- a/docs/architecture/microservices/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot.md +++ b/docs/architecture/microservices/multi-container-microservice-net-applications/implement-api-gateways-with-ocelot.md @@ -374,9 +374,9 @@ But the application is configured so it accesses all the microservices through t ### The Gateway aggregation pattern in eShopOnContainers -As introduced previously, a flexible way to implement requests aggregation is with custom services, by code. You could also implement request aggregation with the [Request Aggregation feature in Ocelot](https://ocelot.readthedocs.io/en/latest/features/requestaggregation.html#request-aggregation), but it might not be as flexible as you need. Therefore, the selected way to implement aggregation in eShopOnContainers is with an explicit ASP.NET Core Web API service for each aggregator. +As introduced previously, a flexible way to implement requests aggregation is with custom services, by code. The selected way to implement aggregation in eShopOnContainers is with an explicit ASP.NET Core Web API service for each aggregator. -According to that approach, the API Gateway composition diagram is in reality a bit more extended when considering the aggregator services that are not shown in the simplified global architecture diagram shown previously. +According to that approach, the API Gateway composition diagram is in reality a bit more extended when considering the aggregator services that aren't shown in the simplified global architecture diagram shown previously. In the following diagram, you can also see how the aggregator services work with their related API Gateways. @@ -572,7 +572,7 @@ There are other important features to research and use, when using an Ocelot API - **Rate limiting** \ [https://ocelot.readthedocs.io/en/latest/features/ratelimiting.html](https://ocelot.readthedocs.io/en/latest/features/ratelimiting.html ) - + - **Swagger for Ocelot** \ [https://github.com/Burgyn/MMLib.SwaggerForOcelot](https://github.com/Burgyn/MMLib.SwaggerForOcelot) diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index 9eeed8e5327ac..1042d9fe1e208 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -109,7 +109,7 @@ | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | | System Events | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0-beta.2/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | -| System.ClientModel | NuGet [1.3.0](https://www.nuget.org/packages/System.ClientModel/1.3.0)
NuGet [1.4.0-beta.5](https://www.nuget.org/packages/System.ClientModel/1.4.0-beta.5) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.3.0/sdk/core/System.ClientModel/)
GitHub [1.4.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.4.0-beta.5/sdk/core/System.ClientModel/) | +| System.ClientModel | NuGet [1.3.0](https://www.nuget.org/packages/System.ClientModel/1.3.0)
NuGet [1.4.0-beta.6](https://www.nuget.org/packages/System.ClientModel/1.4.0-beta.6) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.3.0/sdk/core/System.ClientModel/)
GitHub [1.4.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.4.0-beta.6/sdk/core/System.ClientModel/) | | Tables | NuGet [12.10.0](https://www.nuget.org/packages/Azure.Data.Tables/12.10.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.10.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Text Authoring | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.Text.Authoring/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.Text.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text.Authoring_1.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.Text.Authoring/) | @@ -386,8 +386,8 @@ | IoT Operations MQTT | NuGet [0.10.0](https://www.nuget.org/packages/Azure.Iot.Operations.Mqtt/0.10.0) | | | | IoT Operations Protocol | NuGet [0.10.0](https://www.nuget.org/packages/Azure.Iot.Operations.Protocol/0.10.0) | | | | IoT Operations Services | NuGet [0.10.1](https://www.nuget.org/packages/Azure.Iot.Operations.Services/0.10.1) | | | -| Item Templates NetCore | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.5051) | | | -| Item Templates NetFx | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetFx/4.0.5051) | | | +| Item Templates NetCore | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetCore/4.0.5086) | | | +| Item Templates NetFx | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates.NetFx/4.0.5086) | | | | Microsoft.Azure.DataFactoryTestingFramework.Expressions | NuGet [0.2.7](https://www.nuget.org/packages/Microsoft.Azure.DataFactoryTestingFramework.Expressions/0.2.7) | | | | Microsoft.Azure.Functions.Worker.OpenTelemetry | NuGet [1.1.0-preview6](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.OpenTelemetry/1.1.0-preview6) | | | | OpenTelemetry Profiler | NuGet [1.0.0-beta4](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Profiler/1.0.0-beta4) | | | @@ -529,10 +529,10 @@ | Functions Extensions - Redis | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Redis/1.0.0) | | | | Functions Extensions - Redis | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Redis/1.0.0) | | | | Functions Extensions - Worker Extentions | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Dapr/1.0.1) | | | -| Functions item template pack for Microsoft Template Engine | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ItemTemplates/4.0.5051) | | GitHub [4.0.5051](https://github.com/Azure/azure-functions-templates/tree/3.1.1582) | +| Functions item template pack for Microsoft Template Engine | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ItemTemplates/4.0.5086) | | GitHub [4.0.5086](https://github.com/Azure/azure-functions-templates/tree/3.1.1582) | | Functions OpenAPI app settings deserialization library | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Configuration.AppSettings/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi.Configuration.AppSettings/2.0.0-preview2) | | | | Functions OpenAPI document and Swagger UI renderer library | NuGet [1.4.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi/1.4.0)
NuGet [2.0.0-preview2](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.OpenApi/2.0.0-preview2) | | | -| Functions project template pack for Microsoft Template Engine | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ProjectTemplates/4.0.5051) | | GitHub [4.0.5051](https://github.com/Azure/azure-functions-templates/tree/3.1.1582) | +| Functions project template pack for Microsoft Template Engine | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ProjectTemplates/4.0.5086) | | GitHub [4.0.5086](https://github.com/Azure/azure-functions-templates/tree/3.1.1582) | | Functions runtime assemblies for App Insights logging | NuGet [3.0.41](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Logging.ApplicationInsights/3.0.41) | | GitHub [3.0.41](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs.Logging.ApplicationInsights) | | Functions runtime assemblies for logging | NuGet [4.0.3](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Logging/4.0.3) | | GitHub [4.0.3](https://github.com/Azure/azure-webjobs-sdk/tree/dev/src/Microsoft.Azure.WebJobs.Logging) | | Functions runtime assemblies for Microsoft.Azure.WebJobs.Host | NuGet [3.0.41](https://www.nuget.org/packages/Microsoft.Azure.WebJobs/3.0.41) | | GitHub [3.0.41](https://github.com/Azure/azure-webjobs-sdk/tree/v3.0.18/src/Microsoft.Azure.WebJobs) | @@ -566,8 +566,8 @@ | 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 [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Grpc/2.0.0) | | | -| Microsoft.Azure.Functions.Worker.ItemTemplates | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates/4.0.5051) | | | -| Microsoft.Azure.Functions.Worker.ProjectTemplates | NuGet [4.0.5051](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ProjectTemplates/4.0.5051) | | | +| Microsoft.Azure.Functions.Worker.ItemTemplates | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ItemTemplates/4.0.5086) | | | +| Microsoft.Azure.Functions.Worker.ProjectTemplates | NuGet [4.0.5086](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ProjectTemplates/4.0.5086) | | | | Microsoft.Azure.Functions.Worker.Sdk | NuGet [2.0.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk/2.0.2) | | | | Microsoft.Azure.Functions.Worker.Sdk.Analyzers | NuGet [1.2.2](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk.Analyzers/1.2.2) | | | | Microsoft.Azure.Functions.Worker.Sdk.Generators | NuGet [1.3.4](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk.Generators/1.3.4) | | | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 5b49f472391ac..65bd01bb56464 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -113,7 +113,7 @@ | Synapse - Monitoring | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Analytics.Synapse.Monitoring/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Monitoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Monitoring_1.0.0-beta.3/sdk/synapse/Azure.Analytics.Synapse.Monitoring/) | | Synapse - Spark | NuGet [1.0.0-preview.8](https://www.nuget.org/packages/Azure.Analytics.Synapse.Spark/1.0.0-preview.8) | [docs](/dotnet/api/overview/azure/Analytics.Synapse.Spark-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-preview.8](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Synapse.Spark_1.0.0-preview.8/sdk/synapse/Azure.Analytics.Synapse.Spark/) | | System Events | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Messaging.EventGrid.SystemEvents/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.SystemEvents-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.SystemEvents_1.0.0-beta.2/sdk/eventgrid/Azure.Messaging.EventGrid.SystemEvents/) | -| System.ClientModel | NuGet [1.3.0](https://www.nuget.org/packages/System.ClientModel/1.3.0)
NuGet [1.4.0-beta.5](https://www.nuget.org/packages/System.ClientModel/1.4.0-beta.5) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.3.0/sdk/core/System.ClientModel/)
GitHub [1.4.0-beta.5](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.4.0-beta.5/sdk/core/System.ClientModel/) | +| System.ClientModel | NuGet [1.3.0](https://www.nuget.org/packages/System.ClientModel/1.3.0)
NuGet [1.4.0-beta.6](https://www.nuget.org/packages/System.ClientModel/1.4.0-beta.6) | [docs](/dotnet/api/overview/azure/System.ClientModel-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.3.0/sdk/core/System.ClientModel/)
GitHub [1.4.0-beta.6](https://github.com/Azure/azure-sdk-for-net/tree/System.ClientModel_1.4.0-beta.6/sdk/core/System.ClientModel/) | | Tables | NuGet [12.10.0](https://www.nuget.org/packages/Azure.Data.Tables/12.10.0) | [docs](/dotnet/api/overview/azure/Data.Tables-readme) | GitHub [12.10.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.Tables_12.10.0/sdk/tables/Azure.Data.Tables/) | | Text Analytics | NuGet [5.3.0](https://www.nuget.org/packages/Azure.AI.TextAnalytics/5.3.0) | [docs](/dotnet/api/overview/azure/AI.TextAnalytics-readme) | GitHub [5.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0/sdk/textanalytics/Azure.AI.TextAnalytics/) | | Text Authoring | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Language.Text.Authoring/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Language.Text.Authoring-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Text.Authoring_1.0.0-beta.1/sdk/cognitivelanguage/Azure.AI.Language.Text.Authoring/) | diff --git a/docs/azure/index.yml b/docs/azure/index.yml index 470dcb9085236..db0306af33cdb 100644 --- a/docs/azure/index.yml +++ b/docs/azure/index.yml @@ -262,11 +262,11 @@ additionalContent: - title: Webcasts and shows links: - text: Azure Friday - url: https://azure.microsoft.com/resources/videos/azure-friday/ + url: /shows/azure-friday/ - text: The Cloud Native Show - url: /Shows/The-Cloud-Native-Show + url: /shows/The-Cloud-Native-Show - text: On .NET - url: /Shows/On-NET + url: /shows/On-NET - text: .NET Community Standup url: https://dotnet.microsoft.com/platform/community/standup - text: On .NET Live diff --git a/docs/azure/sdk/azure-sdk-for-dotnet.md b/docs/azure/sdk/azure-sdk-for-dotnet.md index 7dcfb1b3e062b..5fd273bf246be 100644 --- a/docs/azure/sdk/azure-sdk-for-dotnet.md +++ b/docs/azure/sdk/azure-sdk-for-dotnet.md @@ -3,7 +3,7 @@ title: Azure SDK for .NET Overview description: Provides an overview of what the Azure SDK for .NET is and the basic steps to use the SDK in a .NET application ms.topic: conceptual ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 07/26/2024 +ms.date: 04/25/2025 --- # Azure SDK for .NET overview diff --git a/docs/azure/sdk/configure-proxy.md b/docs/azure/sdk/configure-proxy.md index 1be1f2946043d..b9ef373719038 100644 --- a/docs/azure/sdk/configure-proxy.md +++ b/docs/azure/sdk/configure-proxy.md @@ -3,7 +3,7 @@ title: Configure a proxy when using the Azure SDK for .NET description: Learn different approaches for configuring a proxy for use with the Azure SDK for .NET client libraries. ms.topic: conceptual ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 11/18/2024 +ms.date: 04/25/2025 --- # Configure a proxy when using the Azure SDK for .NET diff --git a/docs/azure/sdk/dependency-injection.md b/docs/azure/sdk/dependency-injection.md index eee1054a2b973..e8996ba79bc0b 100644 --- a/docs/azure/sdk/dependency-injection.md +++ b/docs/azure/sdk/dependency-injection.md @@ -3,7 +3,7 @@ title: Dependency injection with the Azure SDK for .NET description: Learn how to use dependency injection with the Azure SDK for .NET client libraries. ms.topic: how-to ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 07/21/2023 +ms.date: 04/25/2025 --- # Dependency injection with the Azure SDK for .NET diff --git a/docs/azure/sdk/includes/implement-defaultazurecredential.md b/docs/azure/sdk/includes/implement-defaultazurecredential.md index dfe116a128eca..c0c83166e1e2e 100644 --- a/docs/azure/sdk/includes/implement-defaultazurecredential.md +++ b/docs/azure/sdk/includes/implement-defaultazurecredential.md @@ -1,6 +1,6 @@ --- ms.topic: include -ms.date: 08/15/2024 +ms.date: 04/25/2025 --- ## Authenticate to Azure services from your app diff --git a/docs/azure/sdk/logging.md b/docs/azure/sdk/logging.md index 34949b5ae3c67..c53d0e7900849 100644 --- a/docs/azure/sdk/logging.md +++ b/docs/azure/sdk/logging.md @@ -1,7 +1,7 @@ --- title: Logging with the Azure SDK for .NET description: Learn how to enable logging with the Azure SDK for .NET client libraries -ms.date: 04/05/2024 +ms.date: 04/05/2025 ms.custom: devx-track-dotnet, engagement-fy23 ms.topic: how-to --- diff --git a/docs/azure/sdk/packages.md b/docs/azure/sdk/packages.md index e01f1991fc231..0cd057059ac67 100644 --- a/docs/azure/sdk/packages.md +++ b/docs/azure/sdk/packages.md @@ -3,7 +3,7 @@ title: Package index for Azure SDK for .NET description: Listing of the package names, NuGet links, docs links, and source code links for all libraries in the Azure SDK for .NET. ms.topic: reference ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 2/28/2023 +ms.date: 04/25/2025 --- # Azure SDK for .NET package index diff --git a/docs/azure/sdk/pagination.md b/docs/azure/sdk/pagination.md index fa4b815a47236..6ddcb6e02686c 100644 --- a/docs/azure/sdk/pagination.md +++ b/docs/azure/sdk/pagination.md @@ -1,7 +1,7 @@ --- title: Pagination with the Azure SDK for .NET description: Learn how to use pagination with the Azure SDK for .NET. -ms.date: 06/23/2023 +ms.date: 04/25/2025 ms.custom: devx-track-dotnet --- diff --git a/docs/azure/sdk/protocol-convenience-methods.md b/docs/azure/sdk/protocol-convenience-methods.md index 86b5500c5f9b7..69481c779e50c 100644 --- a/docs/azure/sdk/protocol-convenience-methods.md +++ b/docs/azure/sdk/protocol-convenience-methods.md @@ -3,7 +3,7 @@ title: Understand Azure SDK client library method types 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/30/2024 +ms.date: 04/25/2025 --- # Azure SDK for .NET protocol and convenience methods overview diff --git a/docs/azure/sdk/resource-management.md b/docs/azure/sdk/resource-management.md index 8419e5df42750..a183a093c3277 100644 --- a/docs/azure/sdk/resource-management.md +++ b/docs/azure/sdk/resource-management.md @@ -1,7 +1,7 @@ --- title: Resource management description: Learn how to use the Azure SDK for .NET to manage Azure resources. -ms.date: 01/26/2024 +ms.date: 04/25/2025 --- # Resource management using the Azure SDK for .NET diff --git a/docs/azure/sdk/thread-safety.md b/docs/azure/sdk/thread-safety.md index 4f08cfea36929..808337c510fc7 100644 --- a/docs/azure/sdk/thread-safety.md +++ b/docs/azure/sdk/thread-safety.md @@ -2,7 +2,7 @@ title: Thread safety with the Azure SDK for .NET description: Learn about thread safety in Azure SDK client objects and how this design impacts client lifetime management. ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 06/23/2023 +ms.date: 04/25/2025 --- # Thread safety and client lifetime management for Azure SDK objects diff --git a/docs/azure/sdk/unit-testing-mocking.md b/docs/azure/sdk/unit-testing-mocking.md index 5de1295bb629c..d347fa527f539 100644 --- a/docs/azure/sdk/unit-testing-mocking.md +++ b/docs/azure/sdk/unit-testing-mocking.md @@ -2,7 +2,7 @@ title: Unit testing and mocking with the Azure SDK for .NET description: Learn techniques and tools for unit testing and mocking the Azure SDK for .NET ms.custom: devx-track-dotnet, engagement-fy23, devx-track-arm-template -ms.date: 07/05/2023 +ms.date: 04/25/2025 --- # Unit testing and mocking with the Azure SDK for .NET diff --git a/docs/core/diagnostics/migrate-from-windows-performance-counters.md b/docs/core/diagnostics/migrate-from-windows-performance-counters.md new file mode 100644 index 0000000000000..4fd851390ef8b --- /dev/null +++ b/docs/core/diagnostics/migrate-from-windows-performance-counters.md @@ -0,0 +1,115 @@ +--- +title: Migrate from .NET Windows Performance Counters to .NET Core metrics +description: Learn how to migrate from .NET Framework Windows Performance Counters to .NET Core/NET 5+ metrics using EventCounters and Meters. +ms.date: 04/27/2025 +--- + +# Migrate from .NET Framework Windows Performance Counters to .NET metrics + +.NET Framework applications, which only run on Windows, can use Windows Performance Counters to monitor application health and performance. However, in .NET Core and later versions, the platform provides [cross-platform alternatives](compare-metric-apis.md) through the [EventCounters](./event-counters.md) and [System.Diagnostics.Metrics](./metrics.md) APIs. + +This article provides guidance on migrating from Windows Performance Counters to the newer metrics systems available in modern .NET versions. + +## A short history of .NET metrics + +.NET applications can be monitored using different mechanisms depending on the .NET version and platform: + +- **.NET Framework**: Primarily uses Windows Performance Counters (Windows only) +- **.NET Core 3.0-3.1, .NET 5+**: Introduced EventCounters (cross-platform) and built-in [runtime metrics](./available-counters.md#systemruntime-counters), [networking metrics](./available-counters.md#systemnethttp-counters), and [ASP.NET metrics](./available-counters.md#microsoft-aspnetcore-server-kestrel-counters) using these APIs +- **.NET 6+**: Added System.Diagnostics.Metrics API (cross-platform, OpenTelemetry compatible) +- **.NET 8+**: Added built-in [networking metrics](./built-in-metrics-system-net.md) and [ASP.NET metrics](/aspnet/core/log-mon/metrics/built-in) using the new System.Diagnostics.Metrics API +- **.NET 9+**: Added built-in [runtime metrics](./built-in-metrics-runtime.md) using the new System.Diagnostics.Metrics API + +The newer metrics systems offer several advantages: + +- **Cross-platform operation**: Works on Windows, Linux, macOS +- **Container-friendly**: Works in containerized environments +- **Modern tooling**: Integrates with OpenTelemetry and observability platforms +- **Supports xcopy install**: No additional installation steps or privileges are required + +For more information, see the [Metrics API comparison](compare-metric-apis.md). + +## Collect metrics in modern .NET applications + +To collect and analyze metrics, see the [System.Diagnostics.Metrics](./metrics-collection.md) and [EventCounters](./event-counters.md) guides. + +## Map common Windows Performance Counters to modern metrics + +If the monitoring system for your .NET Framework application uses runtime-provided Windows Performance Counters, you'll need to select alternative [EventCounters](./event-counters.md) +or [System.Diagnostics.Metrics](./metrics.md)-based metrics instead. The following tables show alternatives for many common counters. Not all .NET Framework counters have been ported to new alternatives. +In some cases, infrequently used counters were discontinued, and in other cases, implementation changes in the platform have made certain counters irrelevant. + +### Memory counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR Memory\# Bytes in all Heaps` | `System.Runtime\GC Heap Size` (`gc-heap-size`) | `System.Runtime\dotnet.gc.last_collection.heap.size` | +| `.NET CLR Memory\# Gen 0 Collections` | `System.Runtime\Gen 0 GC Count` (`gen-0-gc-count`) | `System.Runtime\dotnet.gc.collections` with attribute `gc.heap.generation=gen0` | +| `.NET CLR Memory\# Gen 1 Collections` | `System.Runtime\Gen 1 GC Count` (`gen-1-gc-count`) | `System.Runtime\dotnet.gc.collections` with attribute `gc.heap.generation=gen1` | +| `.NET CLR Memory\# Gen 2 Collections` | `System.Runtime\Gen 2 GC Count` (`gen-2-gc-count`) | `System.Runtime\dotnet.gc.collections` with attribute `gc.heap.generation=gen2` | +| `.NET CLR Memory\% Time in GC` | `System.Runtime\% Time in GC since last GC` (`time-in-gc`) | `System.Runtime\dotnet.gc.pause.time` (calculate as percentage of total time) | +| `.NET CLR Memory\# Total committed Bytes` | None | `System.Runtime\dotnet.gc.last_collection.memory.committed_size` | +| `.NET CLR Memory\Large Object Heap Size` | `System.Runtime\LOH Size` (`loh-size`) | `System.Runtime\dotnet.gc.last_collection.heap.size` with attribute `gc.heap.generation=loh` | +| `.NET CLR Memory\Allocated Bytes/sec` | `System.Runtime\Allocation Rate` (`alloc-rate`) | Calculate rate from `System.Runtime\dotnet.gc.heap.total_allocated` | + +> [!NOTE] +> `dotnet.gc.pause.time` allows an improved calculation that avoids some undesirable behavior in the older `% Time in GC` metric. `% Time in GC` computed +> 100 * `pause_time_in_most_recent_GC` / `time_between_most_recent_two_GCs`. In some cases two GCs would occur very close together producing a high value +> based on a tiny non-representative portion of the overall time interval. `gc.heap.pause.time` accumulates the total time the GC has paused application threads +> so far in a process, which allows computing the GC pause time during any measured time interval. This is a truer measurement of GC overhead, but the change in calculation +> means the metrics might not match even when the underlying GC behavior is unchanged. + +### JIT and Loading counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR Jit\# of Methods Jitted` | `System.Runtime\Methods Jitted Count` (`methods-jitted-count`) | `System.Runtime\dotnet.jit.compiled_methods` | +| `.NET CLR Jit\IL Bytes Jitted` | `System.Runtime\IL Bytes Jitted` (`il-bytes-jitted`) | `System.Runtime\dotnet.jit.compiled_il.size` | +| `.NET CLR Loading\Current Assemblies` | `System.Runtime\Number of Assemblies Loaded` (`assembly-count`) | `System.Runtime\dotnet.assembly.count` | +| `.NET CLR Jit\Total # of IL Bytes Jitted` | `System.Runtime\IL Bytes Jitted` (`il-bytes-jitted`) | `System.Runtime\dotnet.jit.compiled_il.size` | + +### Threading counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR LocksAndThreads\Current Queue Length` | `System.Runtime\ThreadPool Queue Length` (`threadpool-queue-length`) | `System.Runtime\dotnet.thread_pool.queue.length` | +| `.NET CLR LocksAndThreads\Contention Rate / sec` | `System.Runtime\Monitor Lock Contention Count` (`monitor-lock-contention-count`) | Calculate rate from `System.Runtime\dotnet.monitor.lock_contentions` | + +### Exceptions counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR Exceptions\# of Exceps Thrown / sec` | `System.Runtime\Exception Count` (`exception-count`) | Calculate rate from `System.Runtime\dotnet.exceptions` | +| `.NET CLR Exceptions\# of Exceps Thrown` | None | `System.Runtime\dotnet.exceptions` | + +### Socket networking counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR Networking\Bytes Received` | `System.Net.Sockets\Bytes Received` (`bytes-received`) | None | +| `.NET CLR Networking\Bytes Sent` | `System.Net.Sockets\Bytes Sent` (`bytes-sent`) | None | +| `.NET CLR Networking\Connections Established` | `System.Net.Sockets\Outgoing Connections Established` (`outgoing-connections-established`) | None | +| `.NET CLR Networking\Datagrams Received` | `System.Net.Sockets\Datagrams Received` (`datagrams-received`) | None | +| `.NET CLR Networking\Datagrams Sent` | `System.Net.Sockets\Datagrams Sent` (`datagrams-sent`) | None | + +### DNS networking counters + +| Windows Performance Counter | EventCounter equivalent | Metrics API equivalent | +|----------------------------|--------------------------|------------------------| +| `.NET CLR Networking\DNS Lookups` | `System.Net.NameResolution\DNS Lookups Requested` (`dns-lookups-requested`) | Sum the histogram buckets in `System.Net.NameResolution\dns.lookup.duration` | +| `.NET CLR Networking\DNS Resolution Time` | `System.Net.NameResolution\Average DNS Lookup Duration` (`dns-lookups-duration`) | `System.Net.NameResolution\dns.lookup.duration` | + +### HttpWebRequest counters + +`HttpWebRequest` has been superseded by . To learn what metrics are built-in, see the HttpClient [EventCounters](./available-counters.md#systemnethttp-counters) and [System.Diagnostics.Metrics](./built-in-metrics-system-net.md#systemnethttp). + +### ASP.NET counters + +ASP.NET has changed dramatically between .NET Framework and .NET Core. Many counters are obsolete or are measured differently than in the past. To learn what metrics are built-in, see the ASP.NET [EventCounters](./available-counters.md#microsoftaspnetcorehosting-counters) and [System.Diagnostics.Metrics](/aspnet/core/log-mon/metrics/built-in). + +## Next steps + +- Learn more about [EventCounters in .NET](./event-counters.md) +- Explore the [System.Diagnostics.Metrics API](./metrics.md) +- Understand how to [collect metrics](./metrics-collection.md) +- Review [well-known EventCounters](./available-counters.md) and [built-in metrics](./built-in-metrics.md) diff --git a/docs/core/testing/media/test-copilot-result.png b/docs/core/testing/media/test-copilot-result.png new file mode 100644 index 0000000000000..e1ce26b17dbe2 Binary files /dev/null and b/docs/core/testing/media/test-copilot-result.png differ diff --git a/docs/core/testing/unit-testing-with-copilot.md b/docs/core/testing/unit-testing-with-copilot.md index d52195778ea45..52be9094e3f03 100644 --- a/docs/core/testing/unit-testing-with-copilot.md +++ b/docs/core/testing/unit-testing-with-copilot.md @@ -3,11 +3,12 @@ title: Generate Unit Tests with Copilot author: sigmade description: How to generate unit tests and test projects in C# using the xUnit framework with the help of Visual Studio commands and GitHub Copilot ms.date: 01/12/2025 +ms.collection: ce-skilling-ai-copilot --- # Generate unit tests with GitHub Copilot -In this article, you explore how to generate unit tests and test projects in C# using the xUnit framework with the help of Visual Studio commands and GitHub Copilot. +In this article, you explore how to generate unit tests and test projects in C# using the xUnit framework with the help of Visual Studio commands and GitHub Copilot. Using Visual Studio in combination with GitHub Copilot significantly simplifies the process of generating and writing unit tests. ## Create a test project @@ -53,21 +54,21 @@ In the **Create Unit Tests** dialog, select **xUnit** from the **Test Framework* :::image type="content" source="media/create-unit-test-window.png" lightbox="media/create-unit-test-window.png" alt-text="Create Unit Tests window"::: -* If you don't have a test project yet, choose "New Test Project" or select an existing one. -* If necessary, specify a template for the namespace, class, and method name, then click OK. +- If you don't have a test project yet, choose **New Test Project** or select an existing one. +- If necessary, specify a template for the namespace, class, and method name, then click **OK**. -After a few seconds, Visual Studio will pull in the necessary packages, and we will get a generated xUnit project with the required packages, structure, a reference to the project being tested, and with the `ProductServiceTests` class and a stub method. +After a few seconds, Visual Studio will pull in the necessary packages, and you'll get a generated xUnit project with the required packages and structure, a reference to the project being tested, and the `ProductServiceTests` class and a stub method. :::image type="content" source="media/test-mehod-stub.png" lightbox="media/test-mehod-stub.png" alt-text="Generated stub method"::: ## Generate the tests themselves - Select the method being tested again. -- Right-click - **Ask Copilot**. +- Right-click and select **Ask Copilot**. - Enter a simple prompt, such as: - "generate unit tests using xunit, nsubstitute and insert the result into #ProductServiceTests file." - + "Generate unit tests using xunit, nsubstitute and insert the result into #ProductServiceTests file." + You need to select your test class when you type the `#` character. > [!TIP] @@ -77,8 +78,6 @@ After a few seconds, Visual Studio will pull in the necessary packages, and we w Execute the prompt, click **Accept**, and Copilot generates the test code. After that, it remains to install the necessary packages. -When the packages are installed, the tests can be run. This example worked on the first try: Copilot knows very well how to work with NSubstitute, and all dependencies were defined through interfaces. +When the packages are installed, the tests can be run. This example worked on the first try: Copilot knows how to work with NSubstitute, and all dependencies were defined through interfaces. :::image type="content" source="media/test-copilot-result.png" lightbox="media/test-copilot-result.png" alt-text="Generated tests"::: - -Thus, using **Visual Studio** in combination with **GitHub Copilot** significantly simplifies the process of generating and writing unit tests. diff --git a/docs/core/tools/dotnet-tool-install.md b/docs/core/tools/dotnet-tool-install.md index ab16995d7731b..eb1f74ed1cfa7 100644 --- a/docs/core/tools/dotnet-tool-install.md +++ b/docs/core/tools/dotnet-tool-install.md @@ -15,7 +15,7 @@ ms.date: 04/07/2025 ```dotnetcli dotnet tool install -g|--global - [--allow-downgrade] [-a|--arch ] + [--allow-downgrade] [--allow-roll-forward] [-a|--arch ] [--add-source ] [--configfile ] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] [--no-cache] [--prerelease] @@ -23,7 +23,7 @@ dotnet tool install -g|--global [--version ] dotnet tool install --tool-path - [--allow-downgrade] [-a|--arch ] + [--allow-downgrade] [--allow-roll-forward] [-a|--arch ] [--add-source ] [--configfile ] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] [--no-cache] [--prerelease] @@ -31,7 +31,7 @@ dotnet tool install --tool-path [--version ] dotnet tool install [--local] - [--allow-downgrade] [-a|--arch ] + [--allow-downgrade] [--allow-roll-forward] [-a|--arch ] [--add-source ] [--configfile ] [--create-manifest-if-needed] [--disable-parallel] [--framework ] [--ignore-failed-sources] [--interactive] @@ -95,6 +95,10 @@ For more information, see [Install a local tool](global-tools.md#install-a-local [!INCLUDE [allow-downgrade](../../../includes/cli-allow-downgrade.md)] +- **`--allow-roll-forward`** + + Allow tool to use a newer version of the .NET runtime if the runtime it targets isn't installed. + - **`-a|--arch `** Specifies the target architecture. This is a shorthand syntax for setting the [Runtime Identifier (RID)](../../../docs/core/rid-catalog.md), where the provided value is combined with the default RID. For example, on a `win-x64` machine, specifying `--arch x86` sets the RID to `win-x86`. @@ -161,10 +165,6 @@ For more information, see [Install a local tool](global-tools.md#install-a-local Specifies the location to install the Global Tool. PATH can be absolute or relative. If PATH doesn't exist, the command tries to create it. Omitting both `--global` and `--tool-path` specifies a local tool installation. -- **`--allow-roll-forward`** - - Allow tool to use a newer version of the .NET runtime if the runtime it targets isn't installed. - [!INCLUDE [verbosity](../../../includes/cli-verbosity.md)] - **`--version `** diff --git a/docs/csharp/whats-new/csharp-version-history.md b/docs/csharp/whats-new/csharp-version-history.md index 3d2a83365bf5f..1fff2b995f297 100644 --- a/docs/csharp/whats-new/csharp-version-history.md +++ b/docs/csharp/whats-new/csharp-version-history.md @@ -340,7 +340,6 @@ C# version 5.0, released with Visual Studio 2012, was a focused version of the l - [Asynchronous members](../asynchronous-programming/index.md) - [Caller info attributes](../language-reference/attributes/caller-information.md) -- [Code Project: Caller Info Attributes in C# 5.0](https://www.codeproject.com/Tips/606379/Caller-Info-Attributes-in-Csharp) The caller info attribute lets you easily retrieve information about the context in which you're running without resorting to a ton of boilerplate reflection code. It has many uses in diagnostics and logging tasks. diff --git a/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md b/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md index df6dc5d627716..8570be376945f 100644 --- a/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md +++ b/docs/framework/install/troubleshoot-blocked-installations-and-uninstallations.md @@ -2,7 +2,7 @@ title: "Troubleshoot blocked .NET Framework installations and uninstallations" description: "Troubleshoot issues you encounter that prevent installation of the .NET Framework. Consult status messages for information to resolve issues." ms.date: "04/18/2019" -helpviewer_keywords: +helpviewer_keywords: - ".NET Framework, troubleshooting blocked installations" - "blocked .NET Framework installations, troubleshooting" ms.assetid: c3fdfbc1-ed99-4202-a2b0-8c4f1646385d @@ -21,31 +21,30 @@ You can determine which versions of the .NET Framework are installed on a system In this table, 4.5.x refers to the .NET Framework 4.5 and its point releases, 4.5.1, and 4.5.2, 4.6.x refers to the .NET Framework 4.6 and its point releases, 4.6.1 and 4.6.2, 4.7.x refers to the .NET Framework 4.7 and its point releases, 4.7.1 and 4.7.2, and 4.8.x refers to .NET Framework 4.8 and 4.8.1. -|Blocking message|For more information or to resolve the issue| -|----------------------|--------------------------------------------------| -|Uninstalling the Microsoft .NET Framework may cause some applications to cease to function.|In general, you should not uninstall any versions of the .NET Framework that are installed on your computer, because an application you use may depend on a specific version of the .NET Framework. For more information, see [The .NET Framework for users](../get-started/index.md#ForUsers) in the *Getting Started* guide.| -|.NET Framework 4.5.x/4.6.x/4.7.x (ENU) or a later version is already installed on this computer.|No action necessary.

To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md).| -|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x (*language*) requires the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Please install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from the Download Center and rerun Setup.|You must install the English version of the specified .NET Framework release before installing a language pack. For more information, see the section on [To install language packs](guide-for-developers.md#to-install-language-packs) in the installation guide.| -|Cannot install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Other applications on your computer are not compatible with this program.

-or-

Other applications on your computer are not compatible with this program.|The most likely cause of this message is that a preview or RC version of the .NET Framework was installed. Uninstall the preview or RC version and rerun Setup.| -|.NET Framework 4.5.x/4.6.x/4.7.x/4.8.x cannot be uninstalled using this package. To uninstall .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from your computer, go to **Control Panel**, choose **Programs and Features**, choose **View installed updates**, select Update for Microsoft Windows (KB2828152) and then choose **Uninstall**.|The package you are installing doesn't uninstall preview or RC releases of the .NET Framework.

Uninstall the preview or RC release from Control Panel.| -|Cannot uninstall the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Other applications on your computer are dependent on this program.|In general, you shouldn't uninstall any versions of the .NET Framework from your computer, because an application you use may depend on a specific version of the .NET Framework. For more information, see [The .NET Framework for users](../get-started/index.md#ForUsers) in the *Getting Started* guide.| -|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable does not apply to this operating system. Please download the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x for your operating system from the .NET Framework download page.|You may be trying to install .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, or 4.8.x on a platform that isn't supported, or you have chosen the installation package that does not include the components for all supported operating systems. Run the installation again by using the offline installer ([for 4.5.1](https://go.microsoft.com/fwlink/p/?LinkId=309493), [for 4.5.2](https://dotnet.microsoft.com/download/dotnet-framework/net452), [for 4.6](https://dotnet.microsoft.com/download/dotnet-framework/net46), [for 4.6.1](https://dotnet.microsoft.com/download/dotnet-framework/net461), for [4.6.2](https://go.microsoft.com/fwlink/p/?LinkId=780604), for [4.7](https://go.microsoft.com/fwlink/p/?LinkId=825306)), for [4.7.1](https://go.microsoft.com/fwlink/p/?LinkId=852090), for [4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472), for [4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48), or for [4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481). For more information, see the [installation guide](guide-for-developers.md) and [system requirements](../get-started/system-requirements.md) for supported operating systems.| -|The update corresponding to KB\<*number*> needs to be installed before you can install this product.|Installation of the .NET Framework requires that a KB update be installed before installing the .NET Framework. Install the update, and then begin the .NET Framework installation again.

For example, installation of updated versions of the .NET Framework on Windows 8.1, Windows RT 8.1, and Windows Server 2012 R2 requires that the update corresponding to [KB 2919355](https://support.microsoft.com/kb/2919355) be installed.| -|Your computer is currently running a Server Core installation of the Windows Server 2008 operating system. The .NET Framework 4.5.x requires a later release of the operating system. Please install Windows Server 2008 R2 SP1 or higher and rerun .NET Framework 4.5.x setup.|The .NET Framework 4.5.1 and 4.5.2 are supported in the Server Core role with Windows Server 2008 R2 SP1 or later. See [System Requirements](../get-started/system-requirements.md).| -|You do not have sufficient privileges to complete this operation for all users of this computer. Log on as an administrator and rerun **Setup**.|You must be an administrator on the computer to install the .NET Framework.| -|Setup cannot continue because a previous installation requires your computer to be restarted. Please restart your computer and rerun Setup.|A restart is sometimes required to fully complete an installation. Follow the instructions to restart your computer and rerun Setup.

In rare cases, you may be asked to restart your system more than once if Windows has detected a number of missing updates and is restarting to install the next update in the queue.| -|.NET Framework Setup cannot be run in Program Compatibility Mode.|See the [Program Compatibility Issues](#compat) section later in this article.| -|.NET Framework 4.5.x/4.6.x/4.7.x/4.8.x has not been installed because the component store has been corrupted.|See [Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) for more information.| -|Setup cannot run because the Windows Installer Service is not available on this computer.|See ["The Windows Installer Service Could Not Be Accessed" error when you try to install a program in Windows 7 or Windows Vista](https://support.microsoft.com/help/2642495/the-windows-installer-service-could-not-be-accessed-error-when-you-try) on the Microsoft Support website.| -|Setup may not run properly because the Windows Update Service is not available on this computer.|The computer may be configured to use Windows Server Update Services (WSUS) instead of Microsoft Windows Update. For more information, see the section for error code 0x800F0906 in [.NET Framework 3.5 installation error: 0x800F0906, 0x800F081F, 0x800F0907](https://support.microsoft.com/help/2734782/net-framework-3-5-installation-error-0x800f0906-0x800f081f-0x800f0907).

Also see [How to update the Windows Update Agent to the latest version](https://support.microsoft.com/help/949104/how-to-update-the-windows-update-agent-to-the-latest-version) on the Microsoft Support website.| -|Setup may not run properly because the Background Intelligent Transfer Service (BITS) is not available on this computer.|See [An update is available to fix a Background Intelligent Transfer Service (BITS) crash on a Windows Vista-based computer](https://support.microsoft.com/help/940520/an-update-is-available-to-fix-a-background-intelligent-transfer-servic) on the Microsoft Support website.| -|Setup may not run properly because Windows update encountered an error and displayed error code 0x80070643 or 0x643.|See [.NET Framework update installation error: "0x80070643" or "0x643"](https://support.microsoft.com/kb/976982) on the Microsoft Support website.| -|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is already a part of this operating system. You do not need to install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable.|No action.

To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md). See [System Requirements](../get-started/system-requirements.md) for supported operating systems.| -|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is not supported on this operating system.|See [System Requirements](../get-started/system-requirements.md) for supported operating systems.

For failed installations of the .NET Framework on Windows 7, this message typically indicates that Windows 7 SP1 is not installed. On Windows 7 systems, the .NET Framework requires Windows 7 SP1. If you are on Windows 7 and have not yet installed Service Pack 1, you will need to do so before installing the .NET Framework. For information on installing Windows 7 SP1, see [Learn how to install Windows 7 Service Pack 1 (SP1)](https://windows.microsoft.com/windows7/install-windows-7-service-pack-1).| -|Your computer is currently running a Server Core installation of Windows Server 2008 operating system. The .NET Framework 4.5.x requires a full release of the operating system or Server Core 2008 R2 SP1. Please install the full version of Windows Server 2008 SP2 or Windows Server 2008 R2 SP1 or Server Core 2008 R2 SP1 and rerun .NET Framework 4.5.x Setup.|The .NET Framework is supported in the Server Core role with Windows Server 2008 R2 SP1 or later. See [System Requirements](../get-started/system-requirements.md).| -|The .NET Framework 4.5.x is already a part of this operating system but is currently turned off (Windows Server 2012 only).| Use **Turn Windows features on or off** in the **Control Panel** to turn on .NET Framework 4.5.x. | -|This setup program requires an x86 computer. It cannot be installed on x64 or IA64 computers.|See [System Requirements](../get-started/system-requirements.md).| -|This setup program requires x64 or x86 computer. It cannot be installed on IA64 computers.|See [System Requirements](../get-started/system-requirements.md).| +| Blocking message | For more information or to resolve the issue | +|------------------|----------------------------------------------| +|Uninstalling the Microsoft .NET Framework may cause some applications to cease to function.|In general, you should not uninstall any versions of .NET Framework that are installed on your computer, because an application you use might depend on a specific version of .NET Framework. For more information, see [.NET Framework for users](../get-started/index.md#ForUsers) in the *Getting Started* guide.| +|.NET Framework 4.5.x/4.6.x/4.7.x (ENU) or a later version is already installed on this computer.|No action necessary.

To determine which versions of .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md).| +|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x (*language*) requires the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Please install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from the Download Center and rerun Setup.|You must install the English version of the specified .NET Framework release before installing a language pack. For more information, see the section on [To install language packs](guide-for-developers.md#to-install-language-packs) in the installation guide.| +|Cannot install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Other applications on your computer are not compatible with this program.

-or-

Other applications on your computer are not compatible with this program.|The most likely cause of this message is that a preview or RC version of the .NET Framework was installed. Uninstall the preview or RC version and rerun Setup.| +|.NET Framework 4.5.x/4.6.x/4.7.x/4.8.x cannot be uninstalled using this package. To uninstall .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x from your computer, go to **Control Panel**, choose **Programs and Features**, choose **View installed updates**, select Update for Microsoft Windows (KB2828152) and then choose **Uninstall**.|The package you are installing doesn't uninstall preview or RC releases of the .NET Framework.

Uninstall the preview or RC release from Control Panel.| +|Cannot uninstall the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x. Other applications on your computer are dependent on this program.|In general, you shouldn't uninstall any versions of .NET Framework from your computer, because an application you use might depend on a specific version of .NET Framework. For more information, see [.NET Framework for users](../get-started/index.md#ForUsers) in the *Getting Started* guide.| +|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable does not apply to this operating system. Please download the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x for your operating system from the .NET Framework download page.|You might be trying to install .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, or 4.8.x on a platform that isn't supported, or you have chosen the installation package that does not include the components for all supported operating systems. Run the installation again by using the offline installer ([for 4.5.1](https://go.microsoft.com/fwlink/p/?LinkId=309493), [for 4.5.2](https://dotnet.microsoft.com/download/dotnet-framework/net452), [for 4.6](https://dotnet.microsoft.com/download/dotnet-framework/net46), [for 4.6.1](https://dotnet.microsoft.com/download/dotnet-framework/net461), for [4.6.2](https://go.microsoft.com/fwlink/p/?LinkId=780604), for [4.7](https://go.microsoft.com/fwlink/p/?LinkId=825306)), for [4.7.1](https://go.microsoft.com/fwlink/p/?LinkId=852090), for [4.7.2](https://dotnet.microsoft.com/download/dotnet-framework/net472), for [4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48), or for [4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481). For more information, see the [installation guide](guide-for-developers.md) and [system requirements](../get-started/system-requirements.md) for supported operating systems.| +|The update corresponding to KB\<*number*> needs to be installed before you can install this product.|Installation of the .NET Framework requires that a KB update be installed before installing the .NET Framework. Install the update, and then begin the .NET Framework installation again.

For example, installation of updated versions of the .NET Framework on Windows 8.1, Windows RT 8.1, and Windows Server 2012 R2 requires that the update corresponding to [KB 2919355](https://support.microsoft.com/kb/2919355) be installed.| +|Your computer is currently running a Server Core installation of the Windows Server 2008 operating system. The .NET Framework 4.5.x requires a later release of the operating system. Please install Windows Server 2008 R2 SP1 or higher and rerun .NET Framework 4.5.x setup.|The .NET Framework 4.5.1 and 4.5.2 are supported in the Server Core role with Windows Server 2008 R2 SP1 or later. See [System Requirements](../get-started/system-requirements.md).| +|You do not have sufficient privileges to complete this operation for all users of this computer. Log on as an administrator and rerun **Setup**.|You must be an administrator on the computer to install the .NET Framework.| +|Setup cannot continue because a previous installation requires your computer to be restarted. Please restart your computer and rerun Setup.|A restart is sometimes required to fully complete an installation. Follow the instructions to restart your computer and rerun Setup.

In rare cases, you might be asked to restart your system more than once if Windows has detected a number of missing updates and is restarting to install the next update in the queue.| +|.NET Framework Setup cannot be run in Program Compatibility Mode.|See the [Program Compatibility Issues](#compat) section later in this article.| +|.NET Framework 4.5.x/4.6.x/4.7.x/4.8.x has not been installed because the component store has been corrupted.|See [Fix Windows Update errors by using the DISM or System Update Readiness tool](https://support.microsoft.com/kb/947821) for more information.| +|Setup may not run properly because the Windows Update Service is not available on this computer.|The computer might be configured to use Windows Server Update Services (WSUS) instead of Microsoft Windows Update. For more information, see the section for error code 0x800F0906 in [.NET Framework 3.5 installation error: 0x800F0906, 0x800F081F, 0x800F0907](https://support.microsoft.com/help/2734782/net-framework-3-5-installation-error-0x800f0906-0x800f081f-0x800f0907).

Also see [How to update the Windows Update Agent to the latest version](https://support.microsoft.com/help/949104/how-to-update-the-windows-update-agent-to-the-latest-version) on the Microsoft Support website.| +|Setup may not run properly because the Background Intelligent Transfer Service (BITS) is not available on this computer.|See [An update is available to fix a Background Intelligent Transfer Service (BITS) crash on a Windows Vista-based computer](https://support.microsoft.com/help/940520/an-update-is-available-to-fix-a-background-intelligent-transfer-servic) on the Microsoft Support website.| +|Setup may not run properly because Windows update encountered an error and displayed error code 0x80070643 or 0x643.|See [.NET Framework update installation error: "0x80070643" or "0x643"](https://support.microsoft.com/kb/976982) on the Microsoft Support website.| +|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is already a part of this operating system. You do not need to install the .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x redistributable.|No action.

To determine which versions of the .NET Framework are installed on a system, see [How to: Determine Which .NET Framework Versions Are Installed](../install/how-to-determine-which-versions-are-installed.md). See [System Requirements](../get-started/system-requirements.md) for supported operating systems.| +|The .NET Framework 4.5.x/4.6.x/4.7.x/4.8.x is not supported on this operating system.|See [System Requirements](../get-started/system-requirements.md) for supported operating systems.

For failed installations of the .NET Framework on Windows 7, this message typically indicates that Windows 7 SP1 is not installed. On Windows 7 systems, the .NET Framework requires Windows 7 SP1. If you are on Windows 7 and have not yet installed Service Pack 1, you will need to do so before installing the .NET Framework. For information on installing Windows 7 SP1, see [Learn how to install Windows 7 Service Pack 1 (SP1)](https://windows.microsoft.com/windows7/install-windows-7-service-pack-1).| +|Your computer is currently running a Server Core installation of Windows Server 2008 operating system. The .NET Framework 4.5.x requires a full release of the operating system or Server Core 2008 R2 SP1. Please install the full version of Windows Server 2008 SP2 or Windows Server 2008 R2 SP1 or Server Core 2008 R2 SP1 and rerun .NET Framework 4.5.x Setup.|The .NET Framework is supported in the Server Core role with Windows Server 2008 R2 SP1 or later. See [System Requirements](../get-started/system-requirements.md).| +|The .NET Framework 4.5.x is already a part of this operating system but is currently turned off (Windows Server 2012 only).| Use **Turn Windows features on or off** in the **Control Panel** to turn on .NET Framework 4.5.x. | +|This setup program requires an x86 computer. It cannot be installed on x64 or IA64 computers.|See [System Requirements](../get-started/system-requirements.md).| +|This setup program requires x64 or x86 computer. It cannot be installed on IA64 computers.|See [System Requirements](../get-started/system-requirements.md).| @@ -56,17 +55,13 @@ The installation of the .NET Framework 4.5 or its point releases fails with a 16 The .NET Framework installer cannot run in Program Compatibility mode. To resolve this blocking issue, you must use Registry Editor to ensure that the compatibility mode setting is not enabled system-wide: 1. Choose the **Start** button, and then choose **Run**. - 1. In the **Run** dialog box, type "regedit", and then choose **OK**. - 1. In Registry Editor, browse to the following subkeys: - HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted - - HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 1. In the Name column, look for .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2 download names, depending on which version you are installing, and delete these entries. For download names, see [Install the .NET Framework for developers](guide-for-developers.md) article. - 1. Rerun the .NET Framework installer for version 4.5, 4.5.1, 4.5.2, or 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, or 4.7.2. ## See also diff --git a/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md b/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md new file mode 100644 index 0000000000000..6e606f6d67435 --- /dev/null +++ b/docs/framework/release-notes/2025/04-22-april-cumulative-update-preview.md @@ -0,0 +1,47 @@ +--- +title: April 2025 cumulative update preview +description: Learn about the improvements in the .NET Framework April 2025 cumulative update preview. +ms.date: 04/22/2025 +--- +# April 2025 cumulative update preview + +_Released April 22, 2025_ + +## Summary of what's new in this release + +- [Security improvements](#security-improvements) +- [Quality and reliability improvements](#quality-and-reliability-improvements) + +### Security improvements + +There are no new security improvements in this release. This update is cumulative and contains all previously released security improvements. + +### Quality and reliability improvements + +#### .NET Libraries + +Addresses an issue with concurrency in TypeDescriptor.GetConverter()issue in TypeDescriptor GetProperties() and GetConverter(). (*Applies to: .NET Framework 4.8, 4.8.1*) + +#### .NET Runtime + +Addresses an issue where interactions between .NET Framework DLL loads and OS code integrity enforcement policy trigger error reporting dialog boxes. (*Applies to: .NET Framework 4.8, 4.8.1*) + +## Known issues in this release + +This release contains no known issues. + +## Summary tables + +The following table outlines the updates in this release. + +| Product version | Cumulative update preview | +| --- | --- | +| **Windows 11, version 24H2** | | +| .NET Framework 3.5, 4.8.1 | [5056579](https://support.microsoft.com/kb/5056579) | +| **Windows 11, version 22H2 and Windows 11, version 23H2** | | +| .NET Framework 3.5, 4.8.1 | [5056580](https://support.microsoft.com/kb/5056580) | +| **Windows 10, version 22H2** | **[5057056](https://support.microsoft.com/kb/5057056)** | +| .NET Framework 3.5, 4.8 | [5056577](https://support.microsoft.com/kb/5056577) | +| .NET Framework 3.5, 4.8.1 | [5056578](https://support.microsoft.com/kb/5056578) | + +The operating system row lists a KB that's used for update offering purposes. When the operating system KB is offered, the applicability logic determines the specific .NET Framework update(s) installed. Updates for individual .NET Framework versions are installed based on the version of .NET Framework that is already present on the device. Because of this, the operating system KB is not expected to be listed as installed updates on the device. The expected updates installed are the .NET Framework-specific version updates listed in the previous table. diff --git a/docs/framework/release-notes/release-notes.md b/docs/framework/release-notes/release-notes.md index c4587cdd51761..695612d127816 100644 --- a/docs/framework/release-notes/release-notes.md +++ b/docs/framework/release-notes/release-notes.md @@ -11,7 +11,8 @@ The .NET Framework updates include cumulative security and reliability improveme .NET Framework cumulative update releases are discussed in detail in the following individual release notes: -* April 8, 2025 - [cumulative update](./2025/04-08-april-cumulative-update.md) **New Release** +* April 22, 2025 - [cumulative update preview](./2025/04-22-april-cumulative-update-preview.md) **New Release** +* April 8, 2025 - [cumulative update](./2025/04-08-april-cumulative-update.md) * March 25, 2025 - [cumulative update preview](./2025/03-25-march-cumulative-update-preview.md) * January 28, 2025 - [cumulative update preview](./2025/01-28-january-cumulative-update-preview.md) * January 14, 2025 - [cumulative update](./2025/01-14-january-cumulative-update.md) diff --git a/docs/framework/toc.yml b/docs/framework/toc.yml index 88833484fa5e8..90d4938d6cd0a 100644 --- a/docs/framework/toc.yml +++ b/docs/framework/toc.yml @@ -695,6 +695,8 @@ items: href: release-notes/2025/03-25-march-cumulative-update-preview.md - name: April 2025 cumulative update href: release-notes/2025/04-08-april-cumulative-update.md + - name: April 2025 cumulative update preview + href: release-notes/2025/04-22-april-cumulative-update-preview.md - name: What's new href: whats-new/index.md - name: What's new in accessibility diff --git a/docs/framework/wcf/feature-details/hosting-workflow-services.md b/docs/framework/wcf/feature-details/hosting-workflow-services.md index b39147516ad38..acb9a10a196f2 100644 --- a/docs/framework/wcf/feature-details/hosting-workflow-services.md +++ b/docs/framework/wcf/feature-details/hosting-workflow-services.md @@ -52,7 +52,7 @@ A workflow service must be hosted for it to respond to incoming messages. Workfl ## Deployment - The Web Deployment tool has been created to make the job of deployment easier. The tool allows you to migrate applications between IIS 6.0 and IIS 7.0, synchronize server farms, and package, archive and deploy Web applications. For more information, see [MS Deployment Tool](https://iis-umbraco.azurewebsites.net/downloads/microsoft/web-deploy). + The Web Deployment tool has been created to make the job of deployment easier. The tool allows you to migrate applications between IIS 6.0 and IIS 7.0, synchronize server farms, and package, archive, and deploy Web applications. For more information, see [Web Deploy Tool](https://iis-umbraco.azurewebsites.net/downloads/microsoft/web-deploy). ## See also diff --git a/docs/fsharp/using-fsharp-on-azure/file-storage.md b/docs/fsharp/using-fsharp-on-azure/file-storage.md index 70c5e333dc968..3eb5233d3e939 100644 --- a/docs/fsharp/using-fsharp-on-azure/file-storage.md +++ b/docs/fsharp/using-fsharp-on-azure/file-storage.md @@ -123,7 +123,7 @@ Here, you create a file and copy it to a blob within the same storage account. Y You can copy a blob to a file in the same way. If the source object is a blob, then create a SAS to authenticate access to that blob during the copy operation. -## Troubleshooting File storage using metrics +## Troubleshoot File storage using metrics Azure Storage Analytics supports metrics for File storage. With metrics data, you can trace requests and diagnose issues. @@ -137,7 +137,6 @@ For more information about Azure Files, see these links. ### Conceptual articles and videos -- [Azure Files Storage: a frictionless cloud SMB file system for Windows and Linux](https://azure.microsoft.com/resources/videos/azurecon-2015-azure-files-storage-a-frictionless-cloud-smb-file-system-for-windows-and-linux/) - [How to use Azure Files with Linux](/azure/storage/storage-how-to-use-files-linux) ### Tooling support for File storage diff --git a/docs/fundamentals/code-analysis/code-quality-rule-options.md b/docs/fundamentals/code-analysis/code-quality-rule-options.md index d38213abc9dc2..d83ab5318d614 100644 --- a/docs/fundamentals/code-analysis/code-quality-rule-options.md +++ b/docs/fundamentals/code-analysis/code-quality-rule-options.md @@ -111,7 +111,7 @@ This section lists the available configuration options for code analyzers. For m | Description | Allowable values | Default value | Configurable rules | |------------------------------------------|------------------|---------------|--------------------| -| Which part of the API surface to analyze | `public` (applies to `public` and `protected` APIs)
`internal` or `friend` (applies to `internal` and `private protected` APIs)
`private` (applies to `private` APIs)
`all` (applies to all APIs)

Separate multiple values with a comma (,) | `public` | [CA1000](quality-rules/ca1000.md) [CA1002](quality-rules/ca1002.md) [CA1003](quality-rules/ca1003.md) [CA1005](quality-rules/ca1005.md) [CA1008](quality-rules/ca1008.md) [CA1010](quality-rules/ca1010.md) [CA1012](quality-rules/ca1012.md) [CA1021](quality-rules/ca1021.md) [CA1024](quality-rules/ca1024.md) [CA1027](quality-rules/ca1027.md) [CA1028](quality-rules/ca1028.md) [CA1030](quality-rules/ca1030.md) [CA1036](quality-rules/ca1036.md) [CA1040](quality-rules/ca1040.md) [CA1041](quality-rules/ca1041.md) [CA1043](quality-rules/ca1043.md) [CA1044](quality-rules/ca1044.md) [CA1045](quality-rules/ca1045.md) [CA1046](quality-rules/ca1046.md) [CA1047](quality-rules/ca1047.md) [CA1051](quality-rules/ca1051.md) [CA1052](quality-rules/ca1052.md) [CA1054](quality-rules/ca1054.md) [CA1055](quality-rules/ca1055.md) [CA1056](quality-rules/ca1056.md) [CA1058](quality-rules/ca1058.md) [f](quality-rules/ca1062.md) [CA1063](quality-rules/ca1063.md) [CA1068](quality-rules/ca1068.md) [CA1070](quality-rules/ca1070.md) [CA1700](quality-rules/ca1700.md) [CA1707](quality-rules/ca1707.md) [CA1708](quality-rules/ca1708.md) [CA1710](quality-rules/ca1710.md) [CA1711](quality-rules/ca1711.md) [CA1714](quality-rules/ca1714.md) [CA1715](quality-rules/ca1715.md) [CA1716](quality-rules/ca1716.md) [CA1717](quality-rules/ca1717.md) [CA1720](quality-rules/ca1720.md) [CA1721](quality-rules/ca1721.md) [CA1725](quality-rules/ca1725.md) [CA1801](quality-rules/ca1801.md) [CA1802](quality-rules/ca1802.md) [CA1815](quality-rules/ca1815.md) [CA1819](quality-rules/ca1819.md) [CA1822](quality-rules/ca1822.md) [CA1859](quality-rules/ca1859.md) [CA2208](quality-rules/ca2208.md) [CA2217](quality-rules/ca2217.md) [CA2225](quality-rules/ca2225.md) [CA2226](quality-rules/ca2226.md) [CA2231](quality-rules/ca2231.md) [CA2234](quality-rules/ca2234.md) | +| Which part of the API surface to analyze | `public` (applies to `public` and `protected` APIs)
`internal` or `friend` (applies to `internal` and `private protected` APIs)
`private` (applies to `private` APIs)
`all` (applies to all APIs)

Separate multiple values with a comma (,) | `public` | [CA1000](quality-rules/ca1000.md) [CA1002](quality-rules/ca1002.md) [CA1003](quality-rules/ca1003.md) [CA1005](quality-rules/ca1005.md) [CA1008](quality-rules/ca1008.md) [CA1010](quality-rules/ca1010.md) [CA1012](quality-rules/ca1012.md) [CA1021](quality-rules/ca1021.md) [CA1024](quality-rules/ca1024.md) [CA1027](quality-rules/ca1027.md) [CA1028](quality-rules/ca1028.md) [CA1030](quality-rules/ca1030.md) [CA1036](quality-rules/ca1036.md) [CA1040](quality-rules/ca1040.md) [CA1041](quality-rules/ca1041.md) [CA1043](quality-rules/ca1043.md) [CA1044](quality-rules/ca1044.md) [CA1045](quality-rules/ca1045.md) [CA1046](quality-rules/ca1046.md) [CA1047](quality-rules/ca1047.md) [CA1051](quality-rules/ca1051.md) [CA1052](quality-rules/ca1052.md) [CA1054](quality-rules/ca1054.md) [CA1055](quality-rules/ca1055.md) [CA1056](quality-rules/ca1056.md) [CA1058](quality-rules/ca1058.md) [CA1062](quality-rules/ca1062.md) [CA1063](quality-rules/ca1063.md) [CA1068](quality-rules/ca1068.md) [CA1070](quality-rules/ca1070.md) [CA1700](quality-rules/ca1700.md) [CA1707](quality-rules/ca1707.md) [CA1708](quality-rules/ca1708.md) [CA1710](quality-rules/ca1710.md) [CA1711](quality-rules/ca1711.md) [CA1714](quality-rules/ca1714.md) [CA1715](quality-rules/ca1715.md) [CA1716](quality-rules/ca1716.md) [CA1717](quality-rules/ca1717.md) [CA1720](quality-rules/ca1720.md) [CA1721](quality-rules/ca1721.md) [CA1725](quality-rules/ca1725.md) [CA1801](quality-rules/ca1801.md) [CA1802](quality-rules/ca1802.md) [CA1815](quality-rules/ca1815.md) [CA1819](quality-rules/ca1819.md) [CA1822](quality-rules/ca1822.md) [CA1859](quality-rules/ca1859.md) [CA2208](quality-rules/ca2208.md) [CA2217](quality-rules/ca2217.md) [CA2225](quality-rules/ca2225.md) [CA2226](quality-rules/ca2226.md) [CA2231](quality-rules/ca2231.md) [CA2234](quality-rules/ca2234.md) | ### exclude_async_void_methods diff --git a/docs/navigate/tools-diagnostics/toc.yml b/docs/navigate/tools-diagnostics/toc.yml index 7e1847f52adf6..cdcd3b0d95679 100644 --- a/docs/navigate/tools-diagnostics/toc.yml +++ b/docs/navigate/tools-diagnostics/toc.yml @@ -419,6 +419,8 @@ items: href: ../../core/diagnostics/event-counter-perf.md - name: Compare metric APIs href: ../../core/diagnostics/compare-metric-apis.md + - name: Migrate from Windows Performance Counters + href: ../../core/diagnostics/migrate-from-windows-performance-counters.md - name: Distributed tracing items: - name: Overview diff --git a/docs/orleans/index.yml b/docs/orleans/index.yml index 7183c5715540e..4a10724fe0b0c 100644 --- a/docs/orleans/index.yml +++ b/docs/orleans/index.yml @@ -176,11 +176,11 @@ additionalContent: - title: Webcasts and shows links: - text: Azure Friday - url: https://azure.microsoft.com/resources/videos/azure-friday/ + url: /shows/azure-friday/ - text: The Cloud Native Show - url: /Shows/The-Cloud-Native-Show + url: /shows/The-Cloud-Native-Show - text: On .NET - url: /Shows/On-NET + url: /shows/On-NET - text: .NET Community Standup url: https://dotnet.microsoft.com/platform/community/standup - text: On .NET Live diff --git a/docs/standard/data/sqlite/encryption.md b/docs/standard/data/sqlite/encryption.md index 3aa578896ea60..f1895596bb44b 100644 --- a/docs/standard/data/sqlite/encryption.md +++ b/docs/standard/data/sqlite/encryption.md @@ -5,7 +5,7 @@ description: Learn how to encrypt your database file. --- # Encryption -SQLite doesn't support encrypting database files by default. Instead, you need to use a modified version of SQLite like [SEE](https://www.hwaci.com/sw/sqlite/see.html), [SQLCipher](https://www.zetetic.net/sqlcipher/), [SQLiteCrypt](http://www.sqlite-crypt.com/), or [wxSQLite3](https://utelle.github.io/wxsqlite3). This article demonstrates using an unsupported, open-source build of SQLCipher, but the information also applies to other solutions since they generally follow the same pattern. +SQLite doesn't support encrypting database files by default. Instead, you need to use a modified version of SQLite like [SQLCipher](https://www.zetetic.net/sqlcipher/), [SQLiteCrypt](http://www.sqlite-crypt.com/), or [wxSQLite3](https://utelle.github.io/wxsqlite3). This article demonstrates using an unsupported, open-source build of SQLCipher, but the information also applies to other solutions since they generally follow the same pattern. ## Installation