diff --git a/.github/policies/label-prs.yml b/.github/policies/label-prs.yml
index a664c715eefc5..9c62586df7ca6 100644
--- a/.github/policies/label-prs.yml
+++ b/.github/policies/label-prs.yml
@@ -8,7 +8,8 @@ where:
configuration:
resourceManagementConfiguration:
eventResponderTasks:
- - if:
+ - description: Label community PRs
+ if:
- payloadType: Pull_Request
- isAction:
action: Opened
@@ -38,29 +39,31 @@ configuration:
then:
- addLabel:
label: community-contribution
- description: Label community PRs
- - if:
+ - description: Label PRs from the Azure SDK bot
+ if:
- payloadType: Pull_Request
- isActivitySender:
user: azure-sdk
issueAuthor: False
then:
- approvePullRequest:
- comment: "Approved, we'll :shipit: when all status checks pass."
+ comment: "Approved; this PR will merge when all status checks pass."
- addLabel:
label: ':octocat: auto-merge'
- description: Label PRs from the Azure SDK bot
- - if:
+ - description: Label PRs from Dotnet Policy Service
+ if:
- payloadType: Pull_Request
- isActivitySender:
user: dotnet-policy-service
issueAuthor: False
then:
+ - approvePullRequest:
+ comment: "Approved; this PR will merge when all status checks pass."
- addLabel:
label: ':octocat: auto-merge'
triggerOnOwnActions: true
- description: Label PRs from Dotnet Policy Service
- - if:
+ - description: Label PRs with okr-health
+ if:
- payloadType: Pull_Request
- or:
- titleContains:
@@ -72,8 +75,8 @@ configuration:
then:
- addLabel:
label: okr-health
- description: Label PRs with okr-health
- - if:
+ - description: Label PRs with okr-freshness
+ if:
- payloadType: Pull_Request
- or:
- titleContains:
@@ -85,4 +88,3 @@ configuration:
then:
- addLabel:
label: okr-freshness
- description: Label PRs with okr-freshness
diff --git a/docfx.json b/docfx.json
index 4daf2e760efb1..7e5eb33e838ac 100644
--- a/docfx.json
+++ b/docfx.json
@@ -52,7 +52,9 @@
"csharp-10.0/*.md",
"csharp-11.0/*.md",
"csharp-12.0/*.md",
- "method-group-natural-type-improvements.md"
+ "lock-object.md",
+ "method-group-natural-type-improvements.md",
+ "params-collections.md"
],
"src": "_csharplang/proposals",
"dest": "csharp/language-reference/proposals",
@@ -485,7 +487,7 @@
"_csharplang/proposals/csharp-10.0/*.md": "08/07/2021",
"_csharplang/proposals/csharp-11.0/*.md": "09/30/2022",
"_csharplang/proposals/csharp-12.0/*.md": "08/15/2023",
- "_csharplang/proposals/*.md": "03/19/2024",
+ "_csharplang/proposals/*.md": "05/15/2024",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "11/08/2022",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "09/26/2023",
"_vblang/spec/*.md": "07/21/2017"
@@ -651,7 +653,9 @@
"_csharplang/proposals/csharp-12.0/collection-expressions.md": "Collection expressions",
"_csharplang/proposals/csharp-12.0/experimental-attribute.md": "Experimental attribute",
"_csharplang/proposals/csharp-12.0/ref-readonly-parameters.md": "Ref readonly parameters",
+ "_csharplang/proposals/lock-object.md": "Obey lock object semantics for lock statements",
"_csharplang/proposals/method-group-natural-type-improvements.md": "Method group natural type improvements",
+ "_csharplang/proposals/params-collections.md": "Params collections",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "C# compiler breaking changes since C# 10",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "C# compiler breaking changes since C# 11",
"_vblang/spec/introduction.md": "Introduction",
@@ -764,7 +768,9 @@
"_csharplang/proposals/csharp-12.0/collection-expressions.md": "Collection expressions provide a concise syntax to initialize collections by defining elements or embedded collections as the source of the new collection's elements.",
"_csharplang/proposals/csharp-12.0/experimental-attribute.md": "Use the ExperimentalAttribute attribute to indicate APIs that aren't stable.",
"_csharplang/proposals/csharp-12.0/ref-readonly-parameters.md": "Ref readonly parameters enforce that arguments are passed by references, where `in` parameters allow the compiler some flexibiility.",
+ "_csharplang/proposals/lock-object.md": "Special-case how `System.Threading.Lock` interacts with the `lock` keyword by calling its `EnterScope` method. Add static analysis warnings to prevent accidental misuse of the type where possible.",
"_csharplang/proposals/method-group-natural-type-improvements.md": "This proposal refines the determination of the natural type of a method group by considering candidates scope-by-scope and pruning at each scope.",
+ "_csharplang/proposals/params-collections.md": "Allow the `params` modifier on collection types beyond arrays, including `IEnumerable` types.",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 7.md": "Learn about any breaking changes since the initial release of C# 10",
"_roslyn/docs/compilers/CSharp/Compiler Breaking Changes - DotNet 8.md": "Learn about any breaking changes since the initial release of C# 11",
"_vblang/spec/introduction.md": "This chapter provides and introduction to the Visual Basic language.",
@@ -782,7 +788,7 @@
"_vblang/spec/overload-resolution.md": "This chapter describes the rules that govern overload resolution when multiple members have the same name."
},
"titleSuffix": {
- "docs/**/**.md": ".NET",
+ "docs/**/*.md": ".NET",
"_csharpstandard/standard/*.md": "C# language specification",
"_csharplang/proposals/csharp-8.0/*.md": "C# feature specifications",
"_csharplang/proposals/csharp-9.0/*.md": "C# feature specifications",
@@ -790,14 +796,14 @@
"_csharplang/proposals/csharp-11.0/*.md": "C# feature specifications",
"_csharplang/proposals/csharp-12.0/*.md": "C# feature specifications",
"_csharplang/proposals/*.md": "C# feature specifications (preview)",
- "docs/framework/**/**.md": ".NET Framework",
- "docs/framework/data/adonet/**/**.md": "ADO.NET",
- "docs/framework/wcf/**/**.md": "WCF",
- "docs/framework/winforms/**/**.md": "Windows Forms",
- "docs/framework/wpf/**/**.md": "WPF",
- "docs/fsharp/tutorials/**/**.md": "F#",
- "docs/fsharp/language-reference/**/**.md": "F#",
- "docs/fundamentals/**/**.md": ".NET",
+ "docs/framework/**/*.md": ".NET Framework",
+ "docs/framework/data/adonet/**/*.md": "ADO.NET",
+ "docs/framework/wcf/**/*.md": "WCF",
+ "docs/framework/winforms/**/*.md": "Windows Forms",
+ "docs/framework/wpf/**/*.md": "WPF",
+ "docs/fsharp/tutorials/**/*.md": "F#",
+ "docs/fsharp/language-reference/**/*.md": "F#",
+ "docs/fundamentals/**/*.md": ".NET",
"docs/core/additional-tools/**.md": ".NET",
"docs/core/build/**.md": ".NET",
"docs/core/install/**.md": ".NET",
@@ -813,11 +819,14 @@
"docs/core/tools/**.md": ".NET CLI",
"docs/core/tutorials/**.md": ".NET",
"docs/core/versions/**.md": ".NET",
- "docs/csharp/**/**.md": "C#",
- "docs/machine-learning/**/**.md": "ML.NET",
- "docs/standard/data/sqlite/**/**.md": "Microsoft.Data.Sqlite",
- "docs/standard/design-guidelines/**/**.md": "Framework Design Guidelines",
- "docs/visual-basic/**/**.md": "Visual Basic"
+ "docs/csharp/**/*.md": "C#",
+ "docs/csharp/language-reference/**/*.md": "C# reference",
+ "docs/csharp/tour-of-csharp/**/*.md": "A tour of C#",
+ "docs/csharp/whats-new/**/*.md": "",
+ "docs/machine-learning/**/*.md": "ML.NET",
+ "docs/standard/data/sqlite/**/*.md": "Microsoft.Data.Sqlite",
+ "docs/standard/design-guidelines/**/*.md": "Framework Design Guidelines",
+ "docs/visual-basic/**/*.md": "Visual Basic"
},
"open_to_public_contributors": {
"docs/standard/design-guidelines/**.md": false
diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index 6c1f27045db86..1963602ae7544 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -36,10 +36,11 @@
| Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Translation.Document/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_2.0.0-beta.1/sdk/translation/Azure.AI.Translation.Document/) |
| Event Grid | NuGet [4.24.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.0/sdk/eventgrid/Azure.Messaging.EventGrid/) |
| Event Grid Namespaces | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) |
-| Event Hubs | NuGet [5.11.2](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.2) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.2/sdk/eventhub/Azure.Messaging.EventHubs/) |
-| Event Hubs - Event Processor | NuGet [5.11.2](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.2) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.2/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) |
+| Event Hubs | NuGet [5.11.3](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.3) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.3/sdk/eventhub/Azure.Messaging.EventHubs/) |
+| Event Hubs - Event Processor | NuGet [5.11.3](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.3) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.3/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) |
| FarmBeats | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Verticals.AgriFood.Farming/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Verticals.AgriFood.Farming-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Verticals.AgriFood.Farming_1.0.0-beta.2/sdk/agrifood/Azure.Verticals.AgriFood.Farming/) |
| Form Recognizer | NuGet [4.1.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/4.1.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme) | GitHub [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) |
+| Functions Extensions - WebPubSub | NuGet [1.7.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub/1.7.0-beta.1) | | GitHub [1.7.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub_1.7.0-beta.1/sdk/webpubsub/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub/) |
| Health Insights Cancer Profiling | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.CancerProfiling/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.CancerProfiling-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.CancerProfiling_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.CancerProfiling/) |
| Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) |
| Health Insights Radiology Insights | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) |
@@ -67,7 +68,7 @@
| OpenTelemetry AspNetCore | NuGet [1.1.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.1.1)
NuGet [1.2.0-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore/1.2.0-beta.3) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.AspNetCore-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.1.1/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/)
GitHub [1.2.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.AspNetCore_1.2.0-beta.3/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore/) |
| OpenTelemetry Exporter | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.2.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.3.0-beta.1/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
-| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
+| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.ProgrammableConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
| Purview Account | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Analytics.Purview.Account/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Analytics.Purview.Account-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.Account_1.0.0-beta.1/sdk/purview/Azure.Analytics.Purview.Account/) |
| Purview Administration | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Analytics.Purview.Administration/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Analytics.Purview.Administration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.Administration_1.0.0-beta.1/sdk/purview/Azure.Analytics.Purview.Administration/) |
| Purview Data Map | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Analytics.Purview.DataMap/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Analytics.Purview.DataMap-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.DataMap_1.0.0-beta.1/sdk/purview/Azure.Analytics.Purview.DataMap/) |
@@ -79,7 +80,7 @@
| Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) |
| Service Bus | NuGet [7.17.5](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.17.5)
NuGet [7.18.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.18.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.17.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.17.5/sdk/servicebus/Azure.Messaging.ServiceBus/)
GitHub [7.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.18.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/) |
| Storage - Blobs | NuGet [12.20.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.20.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.20.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.20.0/sdk/storage/Azure.Storage.Blobs/) |
-| Storage - Blobs Batch | NuGet [12.16.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.16.1)
NuGet [12.17.0-beta.2](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.17.0-beta.2) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.16.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.16.1/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.17.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.17.0-beta.2/sdk/storage/Azure.Storage.Blobs.Batch/) |
+| Storage - Blobs Batch | NuGet [12.17.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.17.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.17.0/sdk/storage/Azure.Storage.Blobs.Batch/) |
| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.44](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.44) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.44](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.44/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
| Storage - Files Data Lake | NuGet [12.18.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.18.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.18.0/sdk/storage/Azure.Storage.Files.DataLake/) |
| Storage - Files Share | NuGet [12.18.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.18.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.18.0/sdk/storage/Azure.Storage.Files.Shares/) |
@@ -150,7 +151,7 @@
| Resource Management - Authorization | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Authorization/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Authorization-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Authorization_1.1.3/sdk/authorization/Azure.ResourceManager.Authorization/) |
| Resource Management - Automanage | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.0/sdk/automanage/Azure.ResourceManager.Automanage/) |
| Resource Management - Automation | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.0/sdk/automation/Azure.ResourceManager.Automation/) |
-| Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.2/sdk/search/Azure.ResourceManager.Search/) |
+| Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.3/sdk/search/Azure.ResourceManager.Search/) |
| Resource Management - Azure Stack HCI | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.1.0/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) |
| Resource Management - Azure VMware Solution | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.3.0/sdk/avs/Azure.ResourceManager.Avs/) |
| Resource Management - Batch | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.4.0/sdk/batch/Azure.ResourceManager.Batch/) |
@@ -428,7 +429,7 @@
| App Service - API Apps Service | NuGet [0.9.64](https://www.nuget.org/packages/Microsoft.Azure.AppService.ApiApps.Service/0.9.64) | | |
| Code Analyzers for Durable Functions | NuGet [0.5.0](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers/0.5.0) | | GitHub [0.5.0](https://github.com/Azure/azure-functions-durable-extension/tree/Analyzer-v0.3.0/src/WebJobs.Extensions.DurableTask.Analyzers) |
| Cosmos DB - BulkExecutor | NuGet [2.5.1-preview](https://www.nuget.org/packages/Microsoft.Azure.CosmosDB.BulkExecutor/2.5.1-preview) | | GitHub [2.5.1-preview](https://github.com/Azure/azure-cosmosdb-bulkexecutor-dotnet-getting-started) |
-| Cosmos DB - Direct | NuGet [3.34.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.34.0) | | GitHub [3.34.0](https://github.com/Azure/azure-cosmos-dotnet-v3) |
+| Cosmos DB - Direct | NuGet [3.34.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Direct/3.34.2) | | GitHub [3.34.2](https://github.com/Azure/azure-cosmos-dotnet-v3) |
| Cosmos DB - Encryption | NuGet [2.0.3](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.0.3)
NuGet [2.1.0-preview4](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption/2.1.0-preview4) | | GitHub [2.0.3](https://github.com/Azure/azure-cosmos-dotnet-v3/tree/releases/encryption/1.0.0-preview4/Microsoft.Azure.Cosmos.Encryption) |
| Cosmos DB - Encryption | NuGet [1.0.0-preview06](https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Encryption.Custom/1.0.0-preview06) | | |
| Extensions - Caching Cosmos | NuGet [1.6.1](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Cosmos/1.6.1) | | GitHub [1.6.1](https://github.com/Azure/Microsoft.Extensions.Caching.Cosmos/tree/v1.0.0-preview4) |
@@ -460,7 +461,6 @@
| Functions Extensions - HTTP AspNet Core | NuGet [1.2.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore/1.2.1) | | |
| 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 - WebPubSub | NuGet [1.7.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub/1.7.0-beta.1) | | |
| Functions Extensions - Worker Extentions | NuGet [1.0.0](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.Dapr/1.0.0) | | |
| Functions item template pack for Microsoft Template Engine | NuGet [4.0.3038](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.ItemTemplates/4.0.3038) | | GitHub [4.0.3038](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) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index fe44573d75e8a..dc8f1690f8dff 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -37,10 +37,11 @@
| Document Translation | NuGet [1.0.0](https://www.nuget.org/packages/Azure.AI.Translation.Document/1.0.0)
NuGet [2.0.0-beta.1](https://www.nuget.org/packages/Azure.AI.Translation.Document/2.0.0-beta.1) | [docs](/dotnet/api/overview/azure/AI.Translation.Document-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0/sdk/translation/Azure.AI.Translation.Document/)
GitHub [2.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_2.0.0-beta.1/sdk/translation/Azure.AI.Translation.Document/) |
| Event Grid | NuGet [4.24.0](https://www.nuget.org/packages/Azure.Messaging.EventGrid/4.24.0) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid-readme) | GitHub [4.24.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.24.0/sdk/eventgrid/Azure.Messaging.EventGrid/) |
| Event Grid Namespaces | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.EventGrid.Namespaces/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.EventGrid.Namespaces-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid.Namespaces_1.0.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid.Namespaces/) |
-| Event Hubs | NuGet [5.11.2](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.2) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.2/sdk/eventhub/Azure.Messaging.EventHubs/) |
-| Event Hubs - Event Processor | NuGet [5.11.2](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.2) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.2/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) |
+| Event Hubs | NuGet [5.11.3](https://www.nuget.org/packages/Azure.Messaging.EventHubs/5.11.3) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs-readme) | GitHub [5.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs_5.11.3/sdk/eventhub/Azure.Messaging.EventHubs/) |
+| Event Hubs - Event Processor | NuGet [5.11.3](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/5.11.3) | [docs](/dotnet/api/overview/azure/Messaging.EventHubs.Processor-readme) | GitHub [5.11.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.11.3/sdk/eventhub/Azure.Messaging.EventHubs.Processor/) |
| FarmBeats | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Verticals.AgriFood.Farming/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Verticals.AgriFood.Farming-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Verticals.AgriFood.Farming_1.0.0-beta.2/sdk/agrifood/Azure.Verticals.AgriFood.Farming/) |
| Form Recognizer | NuGet [4.1.0](https://www.nuget.org/packages/Azure.AI.FormRecognizer/4.1.0) | [docs](/dotnet/api/overview/azure/AI.FormRecognizer-readme) | GitHub [4.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0/sdk/formrecognizer/Azure.AI.FormRecognizer/) |
+| Functions Extensions - WebPubSub | NuGet [1.7.0-beta.1](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub/1.7.0-beta.1) | | GitHub [1.7.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub_1.7.0-beta.1/sdk/webpubsub/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub/) |
| Health Insights Cancer Profiling | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.CancerProfiling/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.CancerProfiling-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.CancerProfiling_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.CancerProfiling/) |
| Health Insights Clinical Matching | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.ClinicalMatching/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.ClinicalMatching-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.ClinicalMatching_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.ClinicalMatching/) |
| Health Insights Radiology Insights | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Health.Insights.RadiologyInsights/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Health.Insights.RadiologyInsights-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Health.Insights.RadiologyInsights_1.0.0-beta.1/sdk/healthinsights/Azure.Health.Insights.RadiologyInsights/) |
@@ -70,7 +71,7 @@
| OpenTelemetry Exporter | NuGet [1.2.0](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.2.0)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.Exporter-readme) | GitHub [1.2.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.2.0/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.3.0-beta.1/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/) |
| OpenTelemetry LiveMetrics | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.LiveMetrics/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Monitor.OpenTelemetry.LiveMetrics-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.LiveMetrics_1.0.0-beta.3/sdk/monitor/Azure.Monitor.OpenTelemetry.LiveMetrics/) |
| Personalizer | NuGet [2.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Personalizer/2.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Personalizer-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [2.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Personalizer_2.0.0-beta.2/sdk/personalizer/Azure.AI.Personalizer/) |
-| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
+| Programmable Connectivity | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Communication.ProgrammableConnectivity/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Communication.ProgrammableConnectivity-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.ProgrammableConnectivity_1.0.0-beta.1/sdk/communication/Azure.Communication.ProgrammableConnectivity/) |
| Purview Account | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Analytics.Purview.Account/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Analytics.Purview.Account-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.Account_1.0.0-beta.1/sdk/purview/Azure.Analytics.Purview.Account/) |
| Purview Administration | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Analytics.Purview.Administration/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Analytics.Purview.Administration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.Administration_1.0.0-beta.1/sdk/purview/Azure.Analytics.Purview.Administration/) |
| Purview Catalog | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Analytics.Purview.Catalog/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Analytics.Purview.Catalog-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Analytics.Purview.Catalog_1.0.0-beta.4/sdk/purview/Azure.Analytics.Purview.Catalog/) |
@@ -84,7 +85,7 @@
| Schema Registry - Avro | NuGet [1.0.1](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/1.0.1) | [docs](/dotnet/api/overview/azure/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.1/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/) |
| Service Bus | NuGet [7.17.5](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.17.5)
NuGet [7.18.0-beta.1](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/7.18.0-beta.1) | [docs](/dotnet/api/overview/azure/Messaging.ServiceBus-readme) | GitHub [7.17.5](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.17.5/sdk/servicebus/Azure.Messaging.ServiceBus/)
GitHub [7.18.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.18.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/) |
| Storage - Blobs | NuGet [12.20.0](https://www.nuget.org/packages/Azure.Storage.Blobs/12.20.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs-readme) | GitHub [12.20.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.20.0/sdk/storage/Azure.Storage.Blobs/) |
-| Storage - Blobs Batch | NuGet [12.16.1](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.16.1)
NuGet [12.17.0-beta.2](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.17.0-beta.2) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.16.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.16.1/sdk/storage/Azure.Storage.Blobs.Batch/)
GitHub [12.17.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.17.0-beta.2/sdk/storage/Azure.Storage.Blobs.Batch/) |
+| Storage - Blobs Batch | NuGet [12.17.0](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/12.17.0) | [docs](/dotnet/api/overview/azure/Storage.Blobs.Batch-readme) | GitHub [12.17.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.17.0/sdk/storage/Azure.Storage.Blobs.Batch/) |
| Storage - Blobs ChangeFeed | NuGet [12.0.0-preview.44](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed/12.0.0-preview.44) | [docs](/dotnet/api/overview/azure/Storage.Blobs.ChangeFeed-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [12.0.0-preview.44](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.ChangeFeed_12.0.0-preview.44/sdk/storage/Azure.Storage.Blobs.ChangeFeed/) |
| Storage - Files Data Lake | NuGet [12.18.0](https://www.nuget.org/packages/Azure.Storage.Files.DataLake/12.18.0) | [docs](/dotnet/api/overview/azure/Storage.Files.DataLake-readme) | GitHub [12.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.18.0/sdk/storage/Azure.Storage.Files.DataLake/) |
| Storage - Files Share | NuGet [12.18.0](https://www.nuget.org/packages/Azure.Storage.Files.Shares/12.18.0) | [docs](/dotnet/api/overview/azure/Storage.Files.Shares-readme) | GitHub [12.18.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.18.0/sdk/storage/Azure.Storage.Files.Shares/) |
@@ -155,7 +156,7 @@
| Resource Management - Authorization | NuGet [1.1.3](https://www.nuget.org/packages/Azure.ResourceManager.Authorization/1.1.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Authorization-readme) | GitHub [1.1.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Authorization_1.1.3/sdk/authorization/Azure.ResourceManager.Authorization/) |
| Resource Management - Automanage | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automanage/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automanage-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automanage_1.1.0/sdk/automanage/Azure.ResourceManager.Automanage/) |
| Resource Management - Automation | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Automation/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Automation-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Automation_1.1.0/sdk/automation/Azure.ResourceManager.Automation/) |
-| Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.2/sdk/search/Azure.ResourceManager.Search/) |
+| Resource Management - Azure AI Search | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.2.3)
NuGet [1.3.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Search/1.3.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Search-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.2.3/sdk/search/Azure.ResourceManager.Search/)
GitHub [1.3.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Search_1.3.0-beta.3/sdk/search/Azure.ResourceManager.Search/) |
| Resource Management - Azure Stack HCI | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.Hci/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Hci-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.1.0/sdk/azurestackhci/Azure.ResourceManager.Hci/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Hci_1.2.0-beta.1/sdk/azurestackhci/Azure.ResourceManager.Hci/) |
| Resource Management - Azure VMware Solution | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.Avs/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Avs-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Avs_1.3.0/sdk/avs/Azure.ResourceManager.Avs/) |
| Resource Management - Batch | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.Batch/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Batch-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Batch_1.4.0/sdk/batch/Azure.ResourceManager.Batch/) |
diff --git a/docs/core/extensions/logging-providers.md b/docs/core/extensions/logging-providers.md
index 43d8c8afb9860..4f3be1ad2e5e6 100644
--- a/docs/core/extensions/logging-providers.md
+++ b/docs/core/extensions/logging-providers.md
@@ -76,7 +76,7 @@ The `Console` provider logs output to the console.
### Debug
-The `Debug` provider writes log output by using the class, specifically through the method and only when the debugger is attached. The creates instances, which are implementations of the `ILogger` interface.
+The `Debug` provider writes log output by using the class, specifically through the method and only when the debugger is attached. The creates instances of a logger class that implements the `ILogger` interface.
### Event Source
diff --git a/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj b/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj
index 2087a273859dc..e9c873a84e6a6 100644
--- a/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj
+++ b/docs/core/extensions/snippets/configuration/custom-provider/custom-provider.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/docs/core/extensions/snippets/localization/example/example.csproj b/docs/core/extensions/snippets/localization/example/example.csproj
index 4c933df42423b..03e4235bd3f50 100644
--- a/docs/core/extensions/snippets/localization/example/example.csproj
+++ b/docs/core/extensions/snippets/localization/example/example.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/core/extensions/windows-service.md b/docs/core/extensions/windows-service.md
index 2a41ea935d0dc..7fe5374a3d578 100644
--- a/docs/core/extensions/windows-service.md
+++ b/docs/core/extensions/windows-service.md
@@ -74,7 +74,7 @@ Replace the existing `Worker` from the template with the following C# code, and
:::code source="snippets/workers/windows-service/WindowsBackgroundService.cs":::
-In the preceding code, the `JokeService` is injected along with an `ILogger`. Both are made available to the class as fields. In the `ExecuteAsync` method, the joke service requests a joke and writes it to the logger. In this case, the logger is implemented by the Windows Event Log - . Logs are written to, and available for viewing in the **Event Viewer**.
+In the preceding code, the `JokeService` is injected along with an `ILogger`. Both are made available to the class as fields. In the `ExecuteAsync` method, the joke service requests a joke and writes it to the logger. In this case, the logger is implemented by the Windows Event Log - . Logs are written to, and available for viewing in the **Event Viewer**.
> [!NOTE]
> By default, the *Event Log* severity is . This can be configured, but for demonstration purposes the `WindowsBackgroundService` logs with the extension method. To specifically target the `EventLog` level, add an entry in the **appsettings.{Environment}.json**, or provide an value.
diff --git a/docs/core/install/includes/linux-install-70-yum.md b/docs/core/install/includes/linux-install-70-yum.md
deleted file mode 100644
index 225713114fed1..0000000000000
--- a/docs/core/install/includes/linux-install-70-yum.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-author: adegeo
-ms.author: adegeo
-ms.date: 11/15/2022
-ms.topic: include
----
-
-### Install the SDK
-
-The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command:
-
-```bash
-sudo yum install dotnet-sdk-7.0
-```
-
-### Install the runtime
-
-The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command:
-
-```bash
-sudo yum install aspnetcore-runtime-7.0
-```
-
-As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-7.0` in the previous command with `dotnet-runtime-7.0`:
-
-```bash
-sudo yum install dotnet-runtime-7.0
-```
diff --git a/docs/core/install/includes/linux-install-80-yum.md b/docs/core/install/includes/linux-install-80-yum.md
deleted file mode 100644
index b2c8eea90e365..0000000000000
--- a/docs/core/install/includes/linux-install-80-yum.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-author: adegeo
-ms.author: adegeo
-ms.date: 11/14/2023
-ms.topic: include
----
-
-### Install the SDK
-
-The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command:
-
-```bash
-sudo yum install dotnet-sdk-8.0
-```
-
-### Install the runtime
-
-The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command:
-
-```bash
-sudo yum install aspnetcore-runtime-8.0
-```
-
-As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-8.0` in the previous command with `dotnet-runtime-8.0`:
-
-```bash
-sudo yum install dotnet-runtime-8.0
-```
diff --git a/docs/core/install/includes/versions-not-supported.md b/docs/core/install/includes/versions-not-supported.md
index 8933f842c62f2..e015d91e28c8f 100644
--- a/docs/core/install/includes/versions-not-supported.md
+++ b/docs/core/install/includes/versions-not-supported.md
@@ -1,12 +1,13 @@
---
author: adegeo
ms.author: adegeo
-ms.date: 12/21/2022
+ms.date: 05/14/2024
ms.topic: include
---
The following versions of .NET are ❌ no longer supported:
+- .NET 7
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
diff --git a/docs/core/install/linux-alpine.md b/docs/core/install/linux-alpine.md
index 0120902e8a113..762ccef4dc6c0 100644
--- a/docs/core/install/linux-alpine.md
+++ b/docs/core/install/linux-alpine.md
@@ -1,9 +1,9 @@
---
title: Install .NET on Alpine
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Alpine.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Alpine.
author: adegeo
ms.author: adegeo
-ms.date: 03/26/2024
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -29,10 +29,6 @@ The Alpine package manager supports installing some versions of .NET. If the .NE
- [Use the .NET install script.](linux-scripted-manual.md#scripted-install)
- [Download and install .NET manually.](linux-scripted-manual.md#manual-install)
-## Install .NET 7
-
-[!INCLUDE [linux-apk-install-70](includes/linux-install-70-apk.md)]
-
## Install .NET 6
[!INCLUDE [linux-apk-install-60](includes/linux-install-60-apk.md)]
@@ -41,13 +37,13 @@ The Alpine package manager supports installing some versions of .NET. If the .NE
The following table is a list of currently supported .NET releases and the versions of Alpine they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Alpine reaches end-of-life](https://alpinelinux.org/releases/).
-| Alpine | Supported Version | Available in Package Manager |
-|--------|--------------------| -----------------------------|
-| 3.19 | .NET 8.0, .NET 7.0, .NET 6.0 | .NET 7.0, .NET 6.0 |
-| 3.18 | .NET 8.0, .NET 7.0, .NET 6.0 | .NET 7.0, .NET 6.0 |
-| 3.17 | .NET 8.0, .NET 7.0, .NET 6.0 | .NET 7.0, .NET 6.0 |
-| 3.16 | .NET 7.0, .NET 6.0 | .NET 6.0 |
-| 3.15 | .NET 7.0, .NET 6.0 | None |
+| Alpine | Supported Version | Available in Package Manager |
+|--------|-------------------|------------------------------|
+| 3.19 | 8.0, 6.0 | 7.0, 6.0 |
+| 3.18 | 8.0, 6.0 | 7.0, 6.0 |
+| 3.17 | 8.0, 6.0 | 7.0, 6.0 |
+| 3.16 | 6.0 | 6.0 |
+| 3.15 | 6.0 | None |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
@@ -55,16 +51,16 @@ The following table is a list of currently supported .NET releases and the versi
The following table is a list of currently supported .NET releases and the architecture of Alpine they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the architecture of [Alpine is supported#](https://alpinelinux.org/releases/). Note that only `x86_64`, `armv7`, `aarch64` is officially supported by Microsoft. Other architectures are supported by the distribution maintainers, and can be installed using the `apk` package manager.
-| Architecture | .NET 6 | .NET 7 | .NET 8 |
-|------------------|------------------|---------|---------|
-| x86_64 | 3.16, 3.17, 3.18 | 3.17, 3.18 | 3.17, 3.18 |
-| x86 | None | None | None |
-| aarch64 | 3.16, 3.17, 3.18 | 3.17, 3.18 | 3.17, 3.18 |
-| armv7 | 3.16, 3.17, 3.18 | 3.17, 3.18 | 3.17, 3.18 |
-| armhf | None | None | None |
-| s390x | 3.17 | 3.17 | 3.17 |
-| ppc64le | None | None | None |
-| riscv64 | None | None | None |
+| Architecture | .NET 6 | .NET 8 |
+|------------------|------------------|---------|
+| x86_64 | 3.16, 3.17, 3.18 | 3.17, 3.18 |
+| x86 | None | None |
+| aarch64 | 3.16, 3.17, 3.18 | 3.17, 3.18 |
+| armv7 | 3.16, 3.17, 3.18 | 3.17, 3.18 |
+| armhf | None | None |
+| s390x | 3.17 | 3.17 |
+| ppc64le | None | None |
+| riscv64 | None | None |
## Install preview versions
diff --git a/docs/core/install/linux-centos.md b/docs/core/install/linux-centos.md
index edb8d217c06f6..ce10a65e75a82 100644
--- a/docs/core/install/linux-centos.md
+++ b/docs/core/install/linux-centos.md
@@ -1,9 +1,9 @@
---
title: Install .NET on CentOS Linux
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on CentOS Linux.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on CentOS Linux.
author: adegeo
ms.author: adegeo
-ms.date: 05/04/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -21,7 +21,7 @@ The following table is a list of currently supported .NET releases on CentOS Lin
| CentOS Linux | .NET |
|--------------|------|
-| 7 | 7, 6 |
+| 7 | 6.0 |
> [!WARNING]
> CentOS Linux 8 reached an early End Of Life (EOL) on December 31st, 2021. For more information, see the official [CentOS Linux EOL page](https://www.centos.org/centos-linux-eol/). Because of this, .NET isn't supported on CentOS Linux 8.
@@ -46,7 +46,27 @@ The following table is a list of currently supported .NET releases on CentOS Lin
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
```
-[!INCLUDE [linux-yum-install-70](includes/linux-install-70-yum.md)]
+### Install the SDK
+
+The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command:
+
+```bash
+sudo yum install dotnet-sdk-6.0
+```
+
+### Install the runtime
+
+The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command:
+
+```bash
+sudo yum install aspnetcore-runtime-6.0
+```
+
+As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-6.0` in the previous command with `dotnet-runtime-6.0`:
+
+```bash
+sudo yum install dotnet-runtime-6.0
+```
## How to install other versions
diff --git a/docs/core/install/linux-debian.md b/docs/core/install/linux-debian.md
index d9b8dc09c9084..d2c1b66b01852 100644
--- a/docs/core/install/linux-debian.md
+++ b/docs/core/install/linux-debian.md
@@ -1,9 +1,9 @@
---
title: Install .NET on Debian
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Debian.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Debian.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -19,11 +19,11 @@ This article describes how to install .NET on Debian. When a Debian version fall
The following table is a list of currently supported .NET releases and the versions of Debian they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Debian reaches end-of-life](https://wiki.debian.org/DebianReleases).
-| Debian | .NET |
-|---------|-----------|
-| 12 | 8, 7, 6 |
-| 11 | 8, 7, 6 |
-| 10 | 7, 6 |
+| Debian | .NET |
+|---------|--------|
+| 12 | 8, 6 |
+| 11 | 8, 6 |
+| 10 | 6 |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
diff --git a/docs/core/install/linux-fedora.md b/docs/core/install/linux-fedora.md
index 1ea9ef6d23edc..baa64c26e8fdf 100644
--- a/docs/core/install/linux-fedora.md
+++ b/docs/core/install/linux-fedora.md
@@ -1,9 +1,9 @@
---
title: Install .NET on Fedora
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Fedora.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Fedora.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -22,11 +22,11 @@ For more information on installing .NET without a package manager, see one of th
The following table is a list of currently supported .NET releases and the versions of Fedora they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Fedora reaches end-of-life](https://fedoraproject.org/wiki/End_of_life).
-| Fedora | .NET |
-|--------|-----------|
-| 40 | 8, 6 |
-| 39 | 8, 7, 6 |
-| 38 | 8, 7, 6 |
+| Fedora | .NET |
+|--------|------------|
+| 40 | 8.0, 6.0 |
+| 39 | 8.0, 6.0 |
+| 38 | 8.0, 6.0 |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
@@ -34,10 +34,6 @@ The following table is a list of currently supported .NET releases and the versi
[!INCLUDE [linux-dnf-install-80](includes/linux-install-80-dnf.md)]
-## Install .NET 7
-
-[!INCLUDE [linux-dnf-install-70](includes/linux-install-70-dnf.md)]
-
## Install .NET 6
[!INCLUDE [linux-dnf-install-60](includes/linux-install-60-dnf.md)]
@@ -56,7 +52,7 @@ The following table is a list of currently supported .NET releases and the versi
## Install on older distributions
-Older versions of Fedora don't contain .NET Core in the default package repositories. You can install .NET with the [_dotnet-install.sh_ script](linux-scripted-manual.md#scripted-install), or use Microsoft's repository to install .NET:
+Older versions of Fedora don't contain .NET in the default package repositories. You can install .NET with the [_dotnet-install.sh_ script](linux-scripted-manual.md#scripted-install), or use Microsoft's repository to install .NET:
01. First, add the Microsoft signing key to your list of trusted keys.
@@ -64,7 +60,7 @@ Older versions of Fedora don't contain .NET Core in the default package reposito
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
```
-02. Next, add the Microsoft package repository. The source of the repository is based on your version of Fedora.
+01. Next, add the Microsoft package repository. The source of the repository is based on your version of Fedora.
| Fedora Version | Package repository |
| -------------- | ------- |
@@ -83,7 +79,7 @@ Older versions of Fedora don't contain .NET Core in the default package reposito
sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
```
-[!INCLUDE [linux-dnf-install-70](./includes/linux-install-70-dnf.md)]
+01. Use the `sudo dnf install` command to install a .NET package.
## How to install other versions
diff --git a/docs/core/install/linux-opensuse.md b/docs/core/install/linux-opensuse.md
index e47070b5f0165..cdad11f5b902e 100644
--- a/docs/core/install/linux-opensuse.md
+++ b/docs/core/install/linux-opensuse.md
@@ -1,9 +1,9 @@
---
title: Install .NET on openSUSE
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on openSUSE.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on openSUSE.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -21,7 +21,7 @@ The following table is a list of currently supported .NET releases on openSUSE 1
| openSUSE | .NET |
|------------|-----------|
-| 15.4+ | 8, 7, 6 |
+| 15.4+ | 8, 6 |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
diff --git a/docs/core/install/linux-rhel.md b/docs/core/install/linux-rhel.md
index 7d31dd613f8c4..cf6a87a304b2d 100644
--- a/docs/core/install/linux-rhel.md
+++ b/docs/core/install/linux-rhel.md
@@ -1,9 +1,9 @@
---
title: Install .NET on RHEL and CentOS Stream
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Red Hat Enterprise Linux.
+description: Learn about which versions of .NET are supported, and how to install .NET on Red Hat Enterprise Linux and CentOS Stream.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -28,11 +28,11 @@ The following table is a list of currently supported .NET releases on both RHEL
| Distribution | .NET |
| ---------------------- | --------- |
-| RHEL 9 (9.1) | 8, 7, 6 |
-| RHEL 8 (8.7) | 8, 7, 6 |
-| RHEL 7 | 6 |
-| CentOS Stream 9 | 8, 7, 6 |
-| CentOS Stream 8 | 8, 7, 6 |
+| RHEL 9 (9.1) | 8.0, 6.0 |
+| RHEL 8 (8.7) | 8.0, 6.0 |
+| RHEL 7 | 6.0 |
+| CentOS Stream 9 | 8.0, 6.0 |
+| CentOS Stream 8 | 8.0, 6.0 |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
@@ -64,10 +64,6 @@ The following table is a list of currently supported .NET releases on both RHEL
.NET 8 isn't compatible with RHEL 7 and doesn't work.
-## RHEL 7 ❌ .NET 7
-
-.NET 7 isn't officially supported on RHEL 7. To install .NET 7, see [Install .NET on Linux by using an install script or by extracting binaries](linux-scripted-manual.md).
-
## RHEL 7 ✔️ .NET 6
The following command installs the `scl-utils` package:
diff --git a/docs/core/install/linux-scripted-manual.md b/docs/core/install/linux-scripted-manual.md
index 1d1a994e82533..ad838a5ca0ef9 100644
--- a/docs/core/install/linux-scripted-manual.md
+++ b/docs/core/install/linux-scripted-manual.md
@@ -3,7 +3,7 @@ title: Install .NET on Linux without using a package manager
description: Demonstrates how to install the .NET SDK and the .NET Runtime on Linux without a package manager. Use the install script or manually extract the binaries.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -122,7 +122,6 @@ As an alternative to the package managers, you can download and manually install
Download a **binary** release for either the SDK or the runtime from one of the following sites. The .NET SDK includes the corresponding runtime:
- ✔️ [.NET 8 downloads](https://dotnet.microsoft.com/download/dotnet/8.0)
-- ✔️ [.NET 7 downloads](https://dotnet.microsoft.com/download/dotnet/7.0)
- ✔️ [.NET 6 downloads](https://dotnet.microsoft.com/download/dotnet/6.0)
- [All .NET Core downloads](https://dotnet.microsoft.com/download/dotnet)
diff --git a/docs/core/install/linux-sles.md b/docs/core/install/linux-sles.md
index ad17c41b869dc..475c712ad35d8 100644
--- a/docs/core/install/linux-sles.md
+++ b/docs/core/install/linux-sles.md
@@ -1,9 +1,9 @@
---
title: Install .NET on SLES
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on SLES.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on SLES.
author: adegeo
ms.author: adegeo
-ms.date: 11/14/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -19,8 +19,8 @@ The following table is a list of currently supported .NET releases on both SLES
| SLES | .NET |
|--------|------|
-| 15 | 8, 7, 6 |
-| 12 SP5 | 8, 7, 6 |
+| 15 | 8.0, 6.0 |
+| 12 SP5 | 8.0, 6.0 |
[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)]
diff --git a/docs/core/install/linux-ubuntu-install.md b/docs/core/install/linux-ubuntu-install.md
index 3cb2c37491e8a..6a2c2357204a2 100644
--- a/docs/core/install/linux-ubuntu-install.md
+++ b/docs/core/install/linux-ubuntu-install.md
@@ -1,9 +1,9 @@
---
title: Install .NET on Ubuntu
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Ubuntu
+description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Ubuntu. .NET is usually installed through APT.
author: adegeo
ms.author: adegeo
-ms.date: 03/19/2024
+ms.date: 05/14/2024
ms.custom: linux-related-content
zone_pivot_groups: ubuntu-install-set-one
---
@@ -30,7 +30,7 @@ The following versions of .NET are supported or available for Ubuntu 24.04:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 8.0, 7.0, 6.0 | 8.0 | 7.0, 6.0 |None |
+| 8.0, 6.0 | 8.0 | 7.0, 6.0 |None |
@@ -40,12 +40,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support,
[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
-# [.NET 7](#tab/dotnet7)
-
-.NET 7 isn't available in the built-in Ubuntu 24.04 feed. [Register the Ubuntu .NET backports package repository](linux-ubuntu.md#register-the-ubuntu-net-backports-package-repository) and use that feed to install .NET through APT.
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
.NET 6 isn't available in the built-in Ubuntu 24.04 feed. [Register the Ubuntu .NET backports package repository](linux-ubuntu.md#register-the-ubuntu-net-backports-package-repository) and use that feed to install .NET through APT.
@@ -90,7 +84,7 @@ The following versions of .NET are supported or available for Ubuntu 23.10:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
+| 8.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
@@ -100,10 +94,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support,
[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -147,7 +137,7 @@ The following versions of .NET are supported or available for Ubuntu 22.04:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0, 3.1 |
+| 8.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0, 3.1 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
@@ -157,10 +147,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support,
[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -204,7 +190,7 @@ The following versions of .NET are supported or available for Ubuntu 20.04:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 8.0, 7.0, 6.0 | None | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
+| 8.0, 6.0 | None | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version.
@@ -222,10 +208,6 @@ rm packages-microsoft-prod.deb
[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -267,7 +249,7 @@ The following versions of .NET are supported or available for Ubuntu 18.04:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 7.0, 6.0 | None | None | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
+| 6.0 | None | None | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version.
@@ -285,10 +267,6 @@ rm packages-microsoft-prod.deb
.NET 8 isn't supported on Ubuntu 18.04.
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -348,10 +326,6 @@ rm packages-microsoft-prod.deb
.NET 8 isn't supported on Ubuntu 16.04.
-# [.NET 7](#tab/dotnet7)
-
-.NET 7 isn't supported on Ubuntu 16.04.
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -424,7 +398,7 @@ The following versions of .NET are supported or available for Ubuntu 23.04:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 8.0, 7.0, 6.0 | 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
+| 8.0, 6.0 | 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
@@ -434,10 +408,6 @@ The following versions of .NET are supported or available for Ubuntu 23.04:
[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)]
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
@@ -482,7 +452,7 @@ The following versions of .NET are supported or available for Ubuntu 22.10:
| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu.md#register-the-microsoft-package-repository) |
|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------|
-| 7.0, 6.0 | 7.0, 6.0 | None | 7.0, 6.0, 3.1 |
+| 6.0 | 7.0, 6.0 | None | 7.0, 6.0, 3.1 |
[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)]
@@ -490,10 +460,6 @@ The following versions of .NET are supported or available for Ubuntu 22.10:
.NET 8 isn't supported on Ubuntu 22.10.
-# [.NET 7](#tab/dotnet7)
-
-[!INCLUDE [linux-apt-install-70](includes/linux-install-70-apt.md)]
-
# [.NET 6](#tab/dotnet6)
[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)]
diff --git a/docs/core/install/linux-ubuntu.md b/docs/core/install/linux-ubuntu.md
index ce637b9360ccb..647a289570207 100644
--- a/docs/core/install/linux-ubuntu.md
+++ b/docs/core/install/linux-ubuntu.md
@@ -1,9 +1,9 @@
---
title: .NET and Ubuntu overview
-description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Ubuntu.
+description: Learn about the ways you can install .NET on Ubuntu, either from the built-in package feed, the .NET backports repository, or the Microsoft repository.
author: adegeo
ms.author: adegeo
-ms.date: 01/24/2024
+ms.date: 05/14/2024
ms.custom: updateeachrelease, linux-related-content
---
@@ -122,11 +122,11 @@ The following table is a list of currently supported .NET releases and the versi
| Ubuntu | Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](#register-the-ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](#register-the-microsoft-package-repository) |
|--------------------------------------------------------------------|-------------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
-| [24.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2404) | 8.0, 7.0, 6.0 | 8.0 | 7.0, 6.0 | None |
-| [23.10](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2310) | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
-| [22.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2204) | 8.0, 7.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0, 3.1 |
-| [20.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2004) | 8.0, 7.0, 6.0 | None | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
-| [18.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-1804) | 7.0, 6.0 | None | None | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
+| [24.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2404) | 8.0, 6.0 | 8.0 | 7.0, 6.0 | None |
+| [23.10](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2310) | 8.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0 |
+| [22.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2204) | 8.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0, 3.1 |
+| [20.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2004) | 8.0, 6.0 | None | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 |
+| [18.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-1804) | 6.0 | None | None | 7.0. 6.0, 5.0, 3.1, 2.2, 2.1 |
| [16.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-1604) | 6.0 | None | None | 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 |
When an [Ubuntu version](https://wiki.ubuntu.com/Releases) reaches the end of its support period, .NET is no longer supported with that particular Ubuntu version.
@@ -168,7 +168,7 @@ sudo add-apt-repository --remove ppa:dotnet/backports
### add-apt-repository command not found
-The [`add-apt-repository(1)`](https://manpages.ubuntu.com/manpages/en/man1/add-apt-repository.1.html) utility is pre-installed on most Ubuntu installations.
+The [`add-apt-repository(1)`](https://manpages.ubuntu.com/manpages/noble/en/man1/add-apt-repository.1.html) utility is pre-installed on most Ubuntu installations.
If you receive an error message that the `add-apt-repository` command was not found, you have to install the `software-properties-common` package, which provides this command. Open a terminal and run the following commands:
@@ -222,9 +222,6 @@ After you've [registered the Microsoft package repository](#register-the-microso
| **8.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-8.0` |
| **8.0** | .NET | Runtime | `dotnet-runtime-8.0` |
| **8.0** | .NET | SDK | `dotnet-sdk-8.0` |
-| **7.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-7.0` |
-| **7.0** | .NET | Runtime | `dotnet-runtime-7.0` |
-| **7.0** | .NET | SDK | `dotnet-sdk-7.0` |
| **6.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-6.0` |
| **6.0** | .NET | Runtime | `dotnet-runtime-6.0` |
| **6.0** | .NET | SDK | `dotnet-sdk-6.0` |
@@ -256,11 +253,11 @@ For more information, see [Uninstall .NET](remove-runtime-sdk-versions.md?pivots
## Use APT to update .NET
-If you installed .NET through a package manager, you can upgrade the package with the `apt upgrade` command. For example, the following commands upgrade the `dotnet-sdk-7.0` package with the latest version:
+If you installed .NET through a package manager, you can upgrade the package with the `apt upgrade` command. For example, the following commands upgrade the `dotnet-sdk-8.0` package with the latest version:
```bash
sudo apt update
-sudo apt upgrade dotnet-sdk-7.0
+sudo apt upgrade dotnet-sdk-8.0
```
> [!TIP]
diff --git a/docs/core/install/macos.md b/docs/core/install/macos.md
index 4dbd92cdd0e41..abecc6f7455e5 100644
--- a/docs/core/install/macos.md
+++ b/docs/core/install/macos.md
@@ -1,9 +1,9 @@
---
title: Install .NET on macOS
-description: Learn about what versions of macOS you can install .NET on.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on macOS.
author: adegeo
ms.author: adegeo
-ms.date: 11/13/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
---
@@ -28,13 +28,13 @@ There are two types of supported releases: Long Term Support (LTS) releases and
The following table is a list of currently supported .NET releases and the versions of macOS they're supported on:
-| Operating System | .NET 8 (LTS) | .NET 7 (STS) | .NET 6 (LTS) |
-|------------------------|--------------|--------------|--------------|
-| macOS 14.0 "Sonoma" | ✔️ 8.0 | ✔️ 7.0 | ✔️ 6.0 |
-| macOS 13.0 "Ventura" | ✔️ 8.0 | ✔️ 7.0 | ✔️ 6.0 |
-| macOS 12.0 "Monterey" | ✔️ 8.0 | ✔️ 7.0 | ✔️ 6.0 |
-| macOS 11.0 "Big Sur" | ❌ | ✔️ 7.0 | ✔️ 6.0 |
-| macOS 10.15 "Catalina" | ❌ | ✔️ 7.0 | ✔️ 6.0 |
+| Operating System | .NET 8 (LTS) | .NET 6 (LTS) |
+|------------------------|--------------|--------------|
+| macOS 14.0 "Sonoma" | ✔️ 8.0 | ✔️ 6.0 |
+| macOS 13.0 "Ventura" | ✔️ 8.0 | ✔️ 6.0 |
+| macOS 12.0 "Monterey" | ✔️ 8.0 | ✔️ 6.0 |
+| macOS 11.0 "Big Sur" | ❌ | ✔️ 6.0 |
+| macOS 10.15 "Catalina" | ❌ | ✔️ 6.0 |
For a full list of .NET versions and their support life cycle, see [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy/dotnet-core).
@@ -87,7 +87,6 @@ brew install mono-libgdiplus
macOS has standalone installers that can be used to install .NET:
- ✔️ [.NET 8 downloads](https://dotnet.microsoft.com/download/dotnet/8.0)
-- ✔️ [.NET 7 downloads](https://dotnet.microsoft.com/download/dotnet/7.0)
- ✔️ [.NET 6 downloads](https://dotnet.microsoft.com/download/dotnet/6.0)
## Manual install
@@ -99,7 +98,6 @@ As an alternative to the macOS installers for .NET, you can download and manuall
Download a **binary** release for either the SDK or the runtime from one of the following sites. The .NET SDK includes the corresponding runtime:
- ✔️ [.NET 8 downloads](https://dotnet.microsoft.com/download/dotnet/8.0)
-- ✔️ [.NET 7 downloads](https://dotnet.microsoft.com/download/dotnet/7.0)
- ✔️ [.NET 6 downloads](https://dotnet.microsoft.com/download/dotnet/6.0)
- [All .NET downloads](https://dotnet.microsoft.com/download/dotnet)
@@ -201,12 +199,11 @@ Environment variables that add .NET to system path, such as the `PATH` variable,
Visual Studio for Mac installs the .NET SDK when the **.NET** workload is selected. To get started with .NET development on macOS, see [Install Visual Studio 2022 for Mac](/visualstudio/mac/installation).
> [!IMPORTANT]
-> Visual Studio for Mac is being retired. For more information, see [What's happening to Visual Studio for Mac?](/visualstudio/mac/what-happened-to-vs-for-mac?view=vsmac-2022).
+> Visual Studio for Mac is being retired. For more information, see [What's happening to Visual Studio for Mac?](/visualstudio/mac/what-happened-to-vs-for-mac?view=vsmac-2022&preserve-view=true).
| .NET SDK version | Visual Studio version |
| --------------------- | ----------------------------------------------------------------------------------- |
| 8.0 | Visual Studio 2022 for Mac 17.6.1 or higher. (Available as a preview feature only.) |
-| 7.0 | Visual Studio 2022 for Mac 17.4 or higher. |
| 6.0 | Visual Studio 2022 for Mac 17.0 or higher. |
:::image type="content" source="media/install-sdk/mac-install-selection.png" alt-text="macOS Visual Studio 2022 for Mac with the .NET workload selected." lightbox="media/install-sdk/mac-install-selection.png":::
diff --git a/docs/core/install/remove-runtime-sdk-versions.md b/docs/core/install/remove-runtime-sdk-versions.md
index 461797768ec50..b8c592d1159f6 100644
--- a/docs/core/install/remove-runtime-sdk-versions.md
+++ b/docs/core/install/remove-runtime-sdk-versions.md
@@ -1,9 +1,9 @@
---
title: Remove the .NET runtime and SDK
-description: This article describes how to uninstall .NET. You'll need to determine which versions of the .NET Runtime and SDK are currently installed, and then, how to remove them on Windows, Mac, and Linux.
+description: This article describes how to uninstall .NET on Windows, macOS, and Linux. Uninstall .NET manually, through a package manager, or with the .NET Uninstall Tool.
author: adegeo
ms.author: adegeo
-ms.date: 11/21/2023
+ms.date: 05/14/2024
ms.custom: linux-related-content
zone_pivot_groups: operating-systems-set-one
---
diff --git a/docs/core/install/templates.md b/docs/core/install/templates.md
index f54bf034ab500..ad8679c8a5b14 100644
--- a/docs/core/install/templates.md
+++ b/docs/core/install/templates.md
@@ -1,9 +1,9 @@
---
title: Install and manage SDK templates
-description: Learn how to install .NET templates on Windows, Linux, and macOS.
+description: Learn how to install .NET templates on Windows, Linux, and macOS. Templates are installed from NuGet, a NuGet package file, or a file system directory.
author: adegeo
ms.author: adegeo
-ms.date: 04/24/2020
+ms.date: 05/14/2024
ms.custom: linux-related-content
zone_pivot_groups: operating-systems-set-one
no-loc: ['dotnet new', 'dotnet nuget add source']
@@ -184,6 +184,7 @@ The .NET templates are available on NuGet, and you can install them like any oth
| .NET 5.0 | [`Microsoft.DotNet.Common.ProjectTemplates.5.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.5.0) |
| .NET 6.0 | [`Microsoft.DotNet.Common.ProjectTemplates.6.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.6.0) |
| .NET 7.0 | [`Microsoft.DotNet.Common.ProjectTemplates.7.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.7.0) |
+| .NET 8.0 | [`Microsoft.DotNet.Common.ProjectTemplates.8.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.8.0) |
| ASP.NET Core 2.1 | [`Microsoft.DotNet.Web.ProjectTemplates.2.1`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.2.1) |
| ASP.NET Core 2.2 | [`Microsoft.DotNet.Web.ProjectTemplates.2.2`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.2.2) |
| ASP.NET Core 3.0 | [`Microsoft.DotNet.Web.ProjectTemplates.3.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.3.0) |
@@ -191,8 +192,9 @@ The .NET templates are available on NuGet, and you can install them like any oth
| ASP.NET Core 5.0 | [`Microsoft.DotNet.Web.ProjectTemplates.5.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.5.0) |
| ASP.NET Core 6.0 | [`Microsoft.DotNet.Web.ProjectTemplates.6.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.6.0) |
| ASP.NET Core 7.0 | [`Microsoft.DotNet.Web.ProjectTemplates.7.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.7.0) |
+| ASP.NET Core 8.0 | [`Microsoft.DotNet.Web.ProjectTemplates.8.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.8.0) |
-For example, the .NET 7 SDK includes templates for a console app targeting .NET 7. If you wanted to target .NET Core 3.1, you would need to install the 3.1 template package.
+For example, the .NET 8 SDK includes templates for a console app targeting .NET 8. If you wanted to target .NET Core 3.1, you would need to install the 3.1 template package.
01. Try creating an app that targets .NET Core 3.1.
@@ -208,24 +210,24 @@ For example, the .NET 7 SDK includes templates for a console app targeting .NET
dotnet new install Microsoft.DotNet.Common.ProjectTemplates.3.1
```
-1. Try creating the app a second time.
+01. Try creating the app a second time.
- ```dotnetcli
- dotnet new console --framework netcoreapp3.1
- ```
-
- And you should see a message indicating the project was created.
+ ```dotnetcli
+ dotnet new console --framework netcoreapp3.1
+ ```
-
- > The template "Console Application" was created successfully.
- >
- > Processing post-creation actions...
- > Running 'dotnet restore' on path-to-project-file.csproj...
- > Determining projects to restore...
- > Restore completed in 1.05 sec for path-to-project-file.csproj.
- >
- > Restore succeeded.
-
+ And you should see a message indicating the project was created.
+
+ ```output
+ The template "Console Application" was created successfully.
+
+ Processing post-creation actions...
+ Running 'dotnet restore' on path-to-project-file.csproj...
+ Determining projects to restore...
+ Restore completed in 1.05 sec for path-to-project-file.csproj.
+
+ Restore succeeded.
+ ```
## See also
diff --git a/docs/core/install/upgrade.md b/docs/core/install/upgrade.md
index d05554fb37700..95bec7cdd1484 100644
--- a/docs/core/install/upgrade.md
+++ b/docs/core/install/upgrade.md
@@ -1,9 +1,9 @@
---
title: Upgrade to a new .NET version
-description: Learn how to upgrade an app to a new .NET version.
-ms.topic: how-to
-ms.date: 03/25/2024
+description: Learn how to upgrade an app to a new .NET version. Upgrade .NET when the current version goes out of support or when you want to use new features of .NET.
+ms.date: 05/14/2024
---
+
# Upgrade to a new .NET version
New .NET versions are [released each year](https://github.com/dotnet/core/blob/main/releases.md). Many developers start the upgrade process as soon as the new version is available, while others wait until the version they are using is no longer supported. The upgrade process has multiple aspects to consider.
diff --git a/docs/core/install/windows.md b/docs/core/install/windows.md
index a53186009e128..81c425dde102a 100644
--- a/docs/core/install/windows.md
+++ b/docs/core/install/windows.md
@@ -1,9 +1,9 @@
---
title: Install .NET on Windows
-description: Learn about the different ways you can install .NET and which versions of Windows support .NET.
+description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Windows.
author: adegeo
ms.author: adegeo
-ms.date: 12/13/2023
+ms.date: 05/14/2024
---
# Install .NET on Windows
@@ -27,9 +27,10 @@ The following table lists the support status of each version of .NET (and .NET C
| ✔️ Supported | ❌ Unsupported |
|--------------|-----------------|
-| 8 (LTS) | 5 |
-| 7 (STS) | 3.1 |
-| 6 (LTS) | 3.0 |
+| 8 (LTS) | 7 (STS) |
+| 6 (LTS) | 5 |
+| | 3.1 |
+| | 3.0 |
| | 2.1 |
| | 2.0 |
| | 1.1 |
@@ -192,19 +193,18 @@ Windows 10 versions end-of-service dates are segmented by edition. Only **Home**
> [!TIP]
> A `+` symbol represents the minimum version.
-| Operating System | .NET 8 | .NET 7 | .NET 6 |
-|---------------------------------------|--------|--------|--------|
-| Windows 11 | ✔️ | ✔️ | ✔️ |
-| Windows Server 2022 | ✔️ | ✔️ | ✔️ |
-| Windows Server, Version 1903 or later | ✔️ | ✔️ | ✔️ |
-| Windows 10, Version 1607 or later | ✔️ | ✔️ | ✔️ |
-| Windows 8.1 | ❌ | ❌ | ✔️ |
-| Windows 7 SP1 [ESU][esu] | ❌ | ❌ | ✔️ |
-| Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012| ✔️ | ✔️ | ✔️ |
-| Windows Server Core 2012 R2 | ✔️ | ✔️ | ✔️ |
-| Windows Server Core 2012 | ✔️ | ✔️ | ✔️ |
-| Nano Server, Version 1809+ | ✔️ | ✔️ | ✔️ |
-| Nano Server, Version 1803 | ❌ | ❌ | ❌ |
+| Operating System | .NET 8 | .NET 6 |
+|---------------------------------------|--------|--------|
+| Windows 11 | ✔️ | ✔️ |
+| Windows Server 2022 | ✔️ | ✔️ |
+| Windows Server, Version 1903 or later | ✔️ | ✔️ |
+| Windows 10, Version 1607 or later | ✔️ | ✔️ |
+| Windows 8.1 | ❌ | ✔️ |
+| Windows 7 SP1 [ESU][esu] | ❌ | ✔️ |
+| Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012| ✔️ | ✔️ |
+| Windows Server Core 2012 (and R2) | ✔️ | ✔️ |
+| Nano Server, Version 1809+ | ✔️ | ✔️ |
+| Nano Server, Version 1803 | ❌ | ❌ |
For more information about .NET 8 supported operating systems, distributions, and lifecycle policy, see [.NET 8 Supported OS Versions](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md).
@@ -299,23 +299,6 @@ The following Windows versions are supported with .NET 8:
For more information about .NET 8 supported operating systems, distributions, and lifecycle policy, see [.NET 8 Supported OS Versions](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md).
-# [.NET 7](#tab/net70)
-
-The following Windows versions are supported with .NET 7:
-
-> [!NOTE]
-> A `+` symbol represents the minimum version.
-
-| OS | Version | Architectures |
-|---------------------|---------------|-----------------|
-| Windows 11 | 21H2+ | x64, Arm64 |
-| Windows 10 Client | 1607+ | x64, x86, Arm64 |
-| Windows Server | 2012+ | x64, x86 |
-| Windows Server Core | 2012+ | x64, x86 |
-| Nano Server | 1809+ | x64 |
-
-For more information about .NET 7 supported operating systems, distributions, and lifecycle policy, see [.NET 7 Supported OS Versions](https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md).
-
# [.NET 6](#tab/net60)
The following Windows versions are supported with .NET 6:
diff --git a/docs/csharp/advanced-topics/interface-implementation/default-interface-methods-versions.md b/docs/csharp/advanced-topics/interface-implementation/default-interface-methods-versions.md
index f5c6b3367d733..1e895d38e7a0b 100644
--- a/docs/csharp/advanced-topics/interface-implementation/default-interface-methods-versions.md
+++ b/docs/csharp/advanced-topics/interface-implementation/default-interface-methods-versions.md
@@ -1,5 +1,5 @@
---
-title: Safely update interfaces using default interface methods in C#
+title: Safely update interfaces using default interface methods
description: This advanced tutorial explores how you can safely add new capabilities to existing interface definitions without breaking all classes and structs that implement that interface.
ms.date: 03/17/2023
---
diff --git a/docs/csharp/advanced-topics/interop/how-to-access-office-interop-objects.md b/docs/csharp/advanced-topics/interop/how-to-access-office-interop-objects.md
index dda97e915ba9e..a3d75de868382 100644
--- a/docs/csharp/advanced-topics/interop/how-to-access-office-interop-objects.md
+++ b/docs/csharp/advanced-topics/interop/how-to-access-office-interop-objects.md
@@ -1,5 +1,5 @@
---
-title: "How to access Office interop objects - C# Programming Guide"
+title: "How to access Office interop objects"
description: Learn about C# features that simplify access to Office API objects. Use the new features to write code that creates and displays an Excel worksheet.
ms.topic: how-to
ms.date: 02/15/2023
diff --git a/docs/csharp/advanced-topics/interop/how-to-use-named-and-optional-arguments-in-office-programming.md b/docs/csharp/advanced-topics/interop/how-to-use-named-and-optional-arguments-in-office-programming.md
index 4ef1e855f85e1..8448414545274 100644
--- a/docs/csharp/advanced-topics/interop/how-to-use-named-and-optional-arguments-in-office-programming.md
+++ b/docs/csharp/advanced-topics/interop/how-to-use-named-and-optional-arguments-in-office-programming.md
@@ -1,5 +1,5 @@
---
-title: "How to use C# named and optional arguments in Office programming"
+title: "How to use named and optional arguments in Office programming"
description: Learn how to use named arguments and optional arguments to facilitate access to COM interfaces such as the Microsoft Office automation APIs.
ms.date: 02/16/2023
helpviewer_keywords:
diff --git a/docs/csharp/advanced-topics/interop/walkthrough-creating-and-using-dynamic-objects.md b/docs/csharp/advanced-topics/interop/walkthrough-creating-and-using-dynamic-objects.md
index 8d389e044ad65..84200de3417d7 100644
--- a/docs/csharp/advanced-topics/interop/walkthrough-creating-and-using-dynamic-objects.md
+++ b/docs/csharp/advanced-topics/interop/walkthrough-creating-and-using-dynamic-objects.md
@@ -1,5 +1,5 @@
---
-title: "Walkthrough: Creating and Using Dynamic Objects in C#"
+title: "Walkthrough: Creating and Using Dynamic Objects"
description: Learn how to create and use dynamic objects in this walkthrough. Create a custom dynamic object and a project that uses an 'IronPython' library.
ms.date: 02/17/2023
helpviewer_keywords:
diff --git a/docs/csharp/advanced-topics/interop/walkthrough-office-programming.md b/docs/csharp/advanced-topics/interop/walkthrough-office-programming.md
index 0fbee4203316c..218348b68060a 100644
--- a/docs/csharp/advanced-topics/interop/walkthrough-office-programming.md
+++ b/docs/csharp/advanced-topics/interop/walkthrough-office-programming.md
@@ -1,5 +1,5 @@
---
-title: "Walkthrough: Office Programming - C#"
+title: "Walkthrough: Office Programming"
description: Learn about the features Visual Studio offers that improve Microsoft Office programming.
ms.date: 02/15/2023
ms.topic: tutorial
diff --git a/docs/csharp/advanced-topics/reflection-and-attributes/how-to-create-a-c-cpp-union-by-using-attributes.md b/docs/csharp/advanced-topics/reflection-and-attributes/how-to-create-a-c-cpp-union-by-using-attributes.md
index 9b7c232389232..73776879aeca0 100644
--- a/docs/csharp/advanced-topics/reflection-and-attributes/how-to-create-a-c-cpp-union-by-using-attributes.md
+++ b/docs/csharp/advanced-topics/reflection-and-attributes/how-to-create-a-c-cpp-union-by-using-attributes.md
@@ -1,5 +1,5 @@
---
-title: "How to create a C/C++ union by using attributes (C#)"
+title: "How to create a C/C++ union by using attributes"
description: Learn how to use attributes to customize how structs are laid out in memory in C#. This example implements the equivalent of a union from C/C++.
ms.date: 03/15/2023
ms.topic: how-to
diff --git a/docs/csharp/asynchronous-programming/async-scenarios.md b/docs/csharp/asynchronous-programming/async-scenarios.md
index 5b2d30ff65ac4..9f471bff3c84f 100644
--- a/docs/csharp/asynchronous-programming/async-scenarios.md
+++ b/docs/csharp/asynchronous-programming/async-scenarios.md
@@ -1,5 +1,5 @@
---
-title: Asynchronous programming scenarios - C#
+title: Asynchronous programming scenarios
description: Learn about the C# language-level asynchronous programming model provided by .NET Core.
author: BillWagner
ms.date: 02/08/2023
diff --git a/docs/csharp/asynchronous-programming/index.md b/docs/csharp/asynchronous-programming/index.md
index cac5a46c42d58..147cf1af15947 100644
--- a/docs/csharp/asynchronous-programming/index.md
+++ b/docs/csharp/asynchronous-programming/index.md
@@ -1,5 +1,5 @@
---
-title: Asynchronous programming in C#
+title: Asynchronous programming
description: An overview of the C# language support for asynchronous programming using async, await, Task, and Task
ms.date: 09/28/2023
---
diff --git a/docs/csharp/asynchronous-programming/using-async-for-file-access.md b/docs/csharp/asynchronous-programming/using-async-for-file-access.md
index 38eb365b436e9..a0223ef29843d 100644
--- a/docs/csharp/asynchronous-programming/using-async-for-file-access.md
+++ b/docs/csharp/asynchronous-programming/using-async-for-file-access.md
@@ -1,5 +1,5 @@
---
-title: Asynchronous file access (C#)
+title: Asynchronous file access
description: Learn how to use the async feature to access files in C#. You can call into asynchronous methods without using callbacks or splitting your code across methods.
ms.date: 02/08/2023
ms.topic: tutorial
diff --git a/docs/csharp/delegates-overview.md b/docs/csharp/delegates-overview.md
index f85551fa163b0..2b6b889a488ab 100644
--- a/docs/csharp/delegates-overview.md
+++ b/docs/csharp/delegates-overview.md
@@ -1,5 +1,5 @@
---
-title: Introduction to delegates and events in C#
+title: Introduction to delegates and events
description: The first in a series of articles about C# delegates and events. This article introduces basic concepts and discusses language design goals for delegates.
ms.date: 03/24/2022
ms.subservice: fundamentals
diff --git a/docs/csharp/fundamentals/coding-style/coding-conventions.md b/docs/csharp/fundamentals/coding-style/coding-conventions.md
index a2f3c6f476e8e..9110f89bd49d2 100644
--- a/docs/csharp/fundamentals/coding-style/coding-conventions.md
+++ b/docs/csharp/fundamentals/coding-style/coding-conventions.md
@@ -1,5 +1,5 @@
---
-title: ".NET documentation C# Coding Conventions"
+title: ".NET Coding Conventions"
description: Learn about commonly used coding conventions in C#. Coding conventions create a consistent look to the code and facilitate copying, changing, and maintaining the code. This article also includes the docs repo coding guidelines
ms.date: 07/27/2023
helpviewer_keyword:
diff --git a/docs/csharp/fundamentals/coding-style/identifier-names.md b/docs/csharp/fundamentals/coding-style/identifier-names.md
index 2cd7a6d9ee7fe..8db1bbeccd02f 100644
--- a/docs/csharp/fundamentals/coding-style/identifier-names.md
+++ b/docs/csharp/fundamentals/coding-style/identifier-names.md
@@ -1,5 +1,5 @@
---
-title: "C# identifier names - rules and conventions"
+title: "Identifier names - rules and conventions"
description: "Learn the rules for valid identifier names in the C# programming language. In addition, learn the common naming conventions used by the .NET runtime team and the .NET docs team."
ms.date: 11/27/2023
---
diff --git a/docs/csharp/fundamentals/exceptions/exception-handling.md b/docs/csharp/fundamentals/exceptions/exception-handling.md
index e03d54d6f6ff1..3ac15c731228c 100644
--- a/docs/csharp/fundamentals/exceptions/exception-handling.md
+++ b/docs/csharp/fundamentals/exceptions/exception-handling.md
@@ -1,5 +1,5 @@
---
-title: "Exception Handling - C# Programming Guide"
+title: "Exception Handling"
description: Learn about exception handling. See examples of try-catch, try-finally, and try-catch-finally statements.
ms.date: 05/14/2021
helpviewer_keywords:
diff --git a/docs/csharp/fundamentals/functional/pattern-matching.md b/docs/csharp/fundamentals/functional/pattern-matching.md
index 4802f37b3280f..4a095c54d5c9f 100644
--- a/docs/csharp/fundamentals/functional/pattern-matching.md
+++ b/docs/csharp/fundamentals/functional/pattern-matching.md
@@ -1,5 +1,5 @@
---
-title: Pattern matching overview - C# guide
+title: Pattern matching overview
description: "Learn about pattern matching expressions in C#"
ms.date: 03/13/2024
---
diff --git a/docs/csharp/fundamentals/object-oriented/index.md b/docs/csharp/fundamentals/object-oriented/index.md
index 5d4c406792be1..6122f06bc4a26 100644
--- a/docs/csharp/fundamentals/object-oriented/index.md
+++ b/docs/csharp/fundamentals/object-oriented/index.md
@@ -1,5 +1,5 @@
---
-title: "Classes, structs, and records in C#"
+title: "Classes, structs, and records"
description: Describes the use of classes, structures (structs), and records in C#.
ms.date: 03/23/2022
helpviewer_keywords:
@@ -12,7 +12,7 @@ helpviewer_keywords:
- "objects [C#]"
- "C# language, classes"
---
-# Overview of classes, structs, and records in C\#
+# Overview of object oriented techniques in C\#
In C#, the definition of a type—a class, struct, or record—is like a blueprint that specifies what the type can do. An object is basically a block of memory that has been allocated and configured according to the blueprint. This article provides an overview of these blueprints and their features. The [next article in this series](objects.md) introduces objects.
diff --git a/docs/csharp/fundamentals/object-oriented/inheritance.md b/docs/csharp/fundamentals/object-oriented/inheritance.md
index a456755b20a0a..89e8dce56f25f 100644
--- a/docs/csharp/fundamentals/object-oriented/inheritance.md
+++ b/docs/csharp/fundamentals/object-oriented/inheritance.md
@@ -1,5 +1,5 @@
---
-title: "Inheritance"
+title: "Objected oriented programming - inheritance"
description: Inheritance in C# enables you to create new classes that reuse, extend, and modify the behavior defined in other classes.
ms.date: 05/14/2021
helpviewer_keywords:
diff --git a/docs/csharp/fundamentals/program-structure/index.md b/docs/csharp/fundamentals/program-structure/index.md
index d8be1f7e67f54..00d5118fe1f73 100644
--- a/docs/csharp/fundamentals/program-structure/index.md
+++ b/docs/csharp/fundamentals/program-structure/index.md
@@ -1,5 +1,5 @@
---
-title: "General Structure of a C# Program"
+title: "General Structure of a Program"
description: Learn about the structure of a C# program by using a skeleton program that contains all the required elements for a program.
ms.date: 03/11/2022
helpviewer_keywords:
diff --git a/docs/csharp/fundamentals/tutorials/classes.md b/docs/csharp/fundamentals/tutorials/classes.md
index 92cc9d05d9d16..6594a7f51b6ae 100644
--- a/docs/csharp/fundamentals/tutorials/classes.md
+++ b/docs/csharp/fundamentals/tutorials/classes.md
@@ -1,5 +1,5 @@
---
-title: Classes and objects - C# Fundamentals tutorial
+title: Classes and objects tutorial
description: Create your first C# program and explore object oriented concepts
ms.date: 02/25/2022
---
diff --git a/docs/csharp/fundamentals/tutorials/inheritance.md b/docs/csharp/fundamentals/tutorials/inheritance.md
index 6a86d6a4bb921..d61a4eb53b50e 100644
--- a/docs/csharp/fundamentals/tutorials/inheritance.md
+++ b/docs/csharp/fundamentals/tutorials/inheritance.md
@@ -1,5 +1,5 @@
---
-title: Inheritance in C#
+title: "Tutorial: Introduction to Inheritance"
description: Learn to use inheritance in C# libraries and applications.
ms.date: 02/25/2022
ms.assetid: aeb68c74-0ea0-406f-9fbe-2ce02d47ef31
diff --git a/docs/csharp/fundamentals/tutorials/oop.md b/docs/csharp/fundamentals/tutorials/oop.md
index 49770e338846b..ac8f3a331a3d7 100644
--- a/docs/csharp/fundamentals/tutorials/oop.md
+++ b/docs/csharp/fundamentals/tutorials/oop.md
@@ -1,5 +1,5 @@
---
-title: "Object-Oriented Programming (C#)"
+title: "Object-Oriented Programming"
description: C# provides full support for object-oriented programming including abstraction, encapsulation, inheritance, and polymorphism.
ms.date: 02/25/2022
---
diff --git a/docs/csharp/fundamentals/types/index.md b/docs/csharp/fundamentals/types/index.md
index a15a8f55d47bc..d009d3491e0f3 100644
--- a/docs/csharp/fundamentals/types/index.md
+++ b/docs/csharp/fundamentals/types/index.md
@@ -1,5 +1,5 @@
---
-title: "The C# type system"
+title: "The type system"
description: Learn about creating types in C#, such as tuples, records, value types, and reference types.
ms.date: 11/14/2023
helpviewer_keywords:
diff --git a/docs/csharp/fundamentals/types/records.md b/docs/csharp/fundamentals/types/records.md
index a77dadbae58dc..1687c039acc7b 100644
--- a/docs/csharp/fundamentals/types/records.md
+++ b/docs/csharp/fundamentals/types/records.md
@@ -1,5 +1,5 @@
---
-title: "Records in C#"
+title: "Record types"
description: Learn about C# record types and how to create them. A record is a class that provides value semantics.
ms.date: 05/24/2023
helpviewer_keywords:
diff --git a/docs/csharp/how-to/compare-strings.md b/docs/csharp/how-to/compare-strings.md
index 1ea74d29612db..c86f6252600ab 100644
--- a/docs/csharp/how-to/compare-strings.md
+++ b/docs/csharp/how-to/compare-strings.md
@@ -1,5 +1,5 @@
---
-title: "How to compare strings - C# Guide"
+title: "How to compare strings"
description: Learn how to compare and order string values, with or without case, with or without culture specific ordering.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/how-to/concatenate-multiple-strings.md b/docs/csharp/how-to/concatenate-multiple-strings.md
index 59bede41b1eba..c89c5984eacc3 100644
--- a/docs/csharp/how-to/concatenate-multiple-strings.md
+++ b/docs/csharp/how-to/concatenate-multiple-strings.md
@@ -1,5 +1,5 @@
---
-title: "How to concatenate multiple strings (C# Guide)"
+title: "How to concatenate multiple strings"
description: There are multiple ways to concatenate strings in C#. Learn the options and the reasons behind different choices.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/how-to/index.md b/docs/csharp/how-to/index.md
index b82ea1958b685..c8adc25d2bfc2 100644
--- a/docs/csharp/how-to/index.md
+++ b/docs/csharp/how-to/index.md
@@ -1,5 +1,5 @@
---
-title: How to articles (C# Guide)
+title: How to articles
description: A collection of quick tips and short, focused code samples
ms.topic: conceptual
ms.date: 12/20/2017
diff --git a/docs/csharp/how-to/modify-string-contents.md b/docs/csharp/how-to/modify-string-contents.md
index 902d764fd7551..a0551a4bdc935 100644
--- a/docs/csharp/how-to/modify-string-contents.md
+++ b/docs/csharp/how-to/modify-string-contents.md
@@ -1,5 +1,5 @@
---
-title: "How to modify string contents - C# Guide"
+title: "How to modify string contents"
description: Review examples of several techniques to modify existing string contents in C#, which return a new string object.
ms.date: 02/26/2018
helpviewer_keywords:
diff --git a/docs/csharp/how-to/parse-strings-using-split.md b/docs/csharp/how-to/parse-strings-using-split.md
index 64e888c527b08..74dd0ab10b58e 100644
--- a/docs/csharp/how-to/parse-strings-using-split.md
+++ b/docs/csharp/how-to/parse-strings-using-split.md
@@ -1,5 +1,5 @@
---
-title: "Divide strings using String.Split (C# Guide)"
+title: "Divide strings using String.Split"
description: The Split method returns an array of strings split from a set of delimiters. It's an easy way to extract substrings from a string.
ms.date: 03/06/2024
helpviewer_keywords:
diff --git a/docs/csharp/how-to/search-strings.md b/docs/csharp/how-to/search-strings.md
index 75cb72bee1077..fe7cd0f298a9d 100644
--- a/docs/csharp/how-to/search-strings.md
+++ b/docs/csharp/how-to/search-strings.md
@@ -1,5 +1,5 @@
---
-title: "How to search strings (C# Guide)"
+title: "How to search strings"
description: Learn about two strategies to search for text in strings in C#. String class methods search for specific text. Regular expressions search for patterns in text.
ms.date: 02/21/2018
helpviewer_keywords:
diff --git a/docs/csharp/index.yml b/docs/csharp/index.yml
index 958b5a50c153c..66d55ffef6ef1 100644
--- a/docs/csharp/index.yml
+++ b/docs/csharp/index.yml
@@ -26,11 +26,11 @@ highlightedContent:
itemType: get-started
url: ./tour-of-csharp/overview.md
# Card
- - title: C# fundamentals
+ - title: Fundamentals
itemType: concept
url: ./fundamentals/program-structure/index.md
# Card
- - title: What's new in C#
+ - title: What's new
itemType: whats-new
url: ./whats-new/csharp-13.md
# Card
@@ -49,11 +49,11 @@ highlightedContent:
# productDirectory section (Optional; Remove if not applicable.)
productDirectory:
- title: Learn to program with C#
+ title: Learn to program
summary: Major concepts and features of the C# language
items:
# Card
- - title: Get started with C#
+ - title: Get started
# imageSrc should be square in ratio with no white space
imageSrc: ../media/logo_csharp.png
links:
@@ -70,7 +70,7 @@ productDirectory:
- url: https://aka.ms/csharp-certification
text: Foundational C# Certification
- - title: C# fundamentals
+ - title: Fundamentals
# imageSrc should be square in ratio with no white space
imageSrc: ../media/dotnet-bot.svg
links:
@@ -119,7 +119,7 @@ conceptualContent:
# itemType: reference
# Supports up to 3 subsections
sections:
- - title: C# reference
+ - title: Reference
summary: >
Read C# language reference material, and the C# language specifications. The C# reference provides an informative reference for the C# language.
The C# language specification is the normative reference for the C# language. It's the official source for C# language syntax and semantics.
@@ -151,7 +151,7 @@ conceptualContent:
itemType: reference
text: Documentation comments
# Card
- - title: C# Language reference
+ - title: Language reference
summary: Unsafe code and compiler options
links:
- url: ./language-reference/attributes/global.md
@@ -168,7 +168,7 @@ conceptualContent:
text: Compiler options
# Card
- - title: C# specification
+ - title: Language specification
summary: The official specification for the C# language
links:
- url: ./specification/index.yml
diff --git a/docs/csharp/indexers.md b/docs/csharp/indexers.md
index 328ec07bc4740..1c9f491e8d507 100644
--- a/docs/csharp/indexers.md
+++ b/docs/csharp/indexers.md
@@ -1,5 +1,5 @@
---
-title: Indexers
+title: Overview of indexers
description: Learn about C# indexers and how they implement indexed properties, which are properties referenced using one or more arguments.
ms.date: 06/20/2016
ms.subservice: fundamentals
diff --git a/docs/csharp/language-reference/attributes/caller-information.md b/docs/csharp/language-reference/attributes/caller-information.md
index f6123dcad91f6..14a88baf5fc3d 100644
--- a/docs/csharp/language-reference/attributes/caller-information.md
+++ b/docs/csharp/language-reference/attributes/caller-information.md
@@ -1,5 +1,5 @@
---
-title: "Attributes interpreted by the C# compiler: Tracking caller information"
+title: "Attributes interpreted by the compiler: Tracking caller information"
ms.date: 11/02/2021
description: These attributes instruct the compiler to generate information about the code that calls a member. You use the CallerFilePath, CallerLineNumber, CallerMemberName, and CallerArgumentExpression to provide detailed trace information
---
diff --git a/docs/csharp/language-reference/attributes/general.md b/docs/csharp/language-reference/attributes/general.md
index 7d6bc4e52ea0e..dfa5c5548454a 100644
--- a/docs/csharp/language-reference/attributes/general.md
+++ b/docs/csharp/language-reference/attributes/general.md
@@ -1,5 +1,5 @@
---
-title: "Attributes interpreted by the C# compiler: Miscellaneous"
+title: "Attributes interpreted by the compiler: Miscellaneous"
ms.date: 10/26/2023
description: "Learn about attributes that affect code generated by the compiler: the Conditional, Obsolete, AttributeUsage, ModuleInitializer, and SkipLocalsInit attributes."
---
diff --git a/docs/csharp/language-reference/attributes/global.md b/docs/csharp/language-reference/attributes/global.md
index f686a10aa4aa0..c8032fdaf2058 100644
--- a/docs/csharp/language-reference/attributes/global.md
+++ b/docs/csharp/language-reference/attributes/global.md
@@ -1,5 +1,5 @@
---
-title: "Attributes interpreted by the C# compiler: Global attributes"
+title: "Attributes interpreted by the compiler: Global attributes"
ms.date: 12/16/2020
description: Attributes provide metadata the compiler uses to understand more semantics of your program
---
diff --git a/docs/csharp/language-reference/attributes/nullable-analysis.md b/docs/csharp/language-reference/attributes/nullable-analysis.md
index efeab2809fb8c..573814fd04c93 100644
--- a/docs/csharp/language-reference/attributes/nullable-analysis.md
+++ b/docs/csharp/language-reference/attributes/nullable-analysis.md
@@ -1,5 +1,5 @@
---
-title: "Attributes interpreted by the C# compiler: Nullable static analysis"
+title: "Attributes interpreted by the compiler: Nullable static analysis"
ms.date: 05/20/2022
description: Learn about attributes that are interpreted by the compiler to provide better static analysis for nullable and non-nullable reference types.
---
diff --git a/docs/csharp/language-reference/builtin-types/bool.md b/docs/csharp/language-reference/builtin-types/bool.md
index 4f65cf9a4c31d..220c049ef533c 100644
--- a/docs/csharp/language-reference/builtin-types/bool.md
+++ b/docs/csharp/language-reference/builtin-types/bool.md
@@ -1,6 +1,6 @@
---
description: Learn about the built-in boolean type in C#
-title: "bool type - C# reference"
+title: "bool type"
ms.date: 11/26/2019
f1_keywords:
- bool
diff --git a/docs/csharp/language-reference/builtin-types/built-in-types.md b/docs/csharp/language-reference/builtin-types/built-in-types.md
index 6b2904cd320a4..fb4a853afb971 100644
--- a/docs/csharp/language-reference/builtin-types/built-in-types.md
+++ b/docs/csharp/language-reference/builtin-types/built-in-types.md
@@ -1,5 +1,5 @@
---
-title: "Built-in types - C# reference"
+title: "Built-in types"
description: "Learn C# built-in value and reference types"
ms.date: 03/15/2021
helpviewer_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/char.md b/docs/csharp/language-reference/builtin-types/char.md
index 048549b695473..801b98e139cf6 100644
--- a/docs/csharp/language-reference/builtin-types/char.md
+++ b/docs/csharp/language-reference/builtin-types/char.md
@@ -1,6 +1,6 @@
---
description: Learn about the built-in character type in C#
-title: "char type - C# reference"
+title: "char type"
ms.date: 05/11/2020
f1_keywords:
- "char"
diff --git a/docs/csharp/language-reference/builtin-types/default-values.md b/docs/csharp/language-reference/builtin-types/default-values.md
index a0c65b23b6953..2f3095ed8b373 100644
--- a/docs/csharp/language-reference/builtin-types/default-values.md
+++ b/docs/csharp/language-reference/builtin-types/default-values.md
@@ -1,5 +1,5 @@
---
-title: "Default values of C# types - C# reference"
+title: "Default values of built in types"
description: "Learn the default values of C# types such as bool, char, int, float, double and more."
ms.date: 09/28/2021
helpviewer_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/enum.md b/docs/csharp/language-reference/builtin-types/enum.md
index c94520172635a..863ecea9bee61 100644
--- a/docs/csharp/language-reference/builtin-types/enum.md
+++ b/docs/csharp/language-reference/builtin-types/enum.md
@@ -1,5 +1,5 @@
---
-title: "Enumeration types - C# reference"
+title: "Enumeration types"
description: "Learn about C# enumeration types that represent a choice or a combination of choices"
ms.date: 12/13/2019
f1_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/floating-point-numeric-types.md b/docs/csharp/language-reference/builtin-types/floating-point-numeric-types.md
index 79b8f4eebb37a..62b7b37b5ae49 100644
--- a/docs/csharp/language-reference/builtin-types/floating-point-numeric-types.md
+++ b/docs/csharp/language-reference/builtin-types/floating-point-numeric-types.md
@@ -1,5 +1,5 @@
---
-title: "Floating-point numeric types - C# reference"
+title: "Floating-point numeric types"
description: "Learn about the built-in C# floating-point types: float, double, and decimal"
ms.date: 02/04/2021
f1_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/integral-numeric-types.md b/docs/csharp/language-reference/builtin-types/integral-numeric-types.md
index caa5c4e8aa855..e47aadcb812ea 100644
--- a/docs/csharp/language-reference/builtin-types/integral-numeric-types.md
+++ b/docs/csharp/language-reference/builtin-types/integral-numeric-types.md
@@ -1,5 +1,5 @@
---
-title: "Integral numeric types - C# reference"
+title: "Integral numeric types"
titleSuffix: ""
description: "Learn the range, storage size, and uses for each of the integral numeric types."
ms.date: 06/17/2022
diff --git a/docs/csharp/language-reference/builtin-types/nullable-reference-types.md b/docs/csharp/language-reference/builtin-types/nullable-reference-types.md
index 60fd27d408295..d5f28532df213 100644
--- a/docs/csharp/language-reference/builtin-types/nullable-reference-types.md
+++ b/docs/csharp/language-reference/builtin-types/nullable-reference-types.md
@@ -1,5 +1,5 @@
---
-title: "Nullable reference types - C# reference"
+title: "Nullable reference types"
description: Learn about C# nullable reference types and how to use them
ms.date: 09/08/2021
---
diff --git a/docs/csharp/language-reference/builtin-types/nullable-value-types.md b/docs/csharp/language-reference/builtin-types/nullable-value-types.md
index ccd76a4831057..323eff25986ff 100644
--- a/docs/csharp/language-reference/builtin-types/nullable-value-types.md
+++ b/docs/csharp/language-reference/builtin-types/nullable-value-types.md
@@ -1,5 +1,5 @@
---
-title: "Nullable value types - C# reference"
+title: "Nullable value types"
description: Learn about C# nullable value types and how to use them
ms.date: 11/04/2019
helpviewer_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/numeric-conversions.md b/docs/csharp/language-reference/builtin-types/numeric-conversions.md
index ea7cb71c2ffa3..0651fe15a6349 100644
--- a/docs/csharp/language-reference/builtin-types/numeric-conversions.md
+++ b/docs/csharp/language-reference/builtin-types/numeric-conversions.md
@@ -1,6 +1,6 @@
---
description: Learn about the implicit and explicit conversions between the built-in numeric types in C#
-title: "Built-in numeric conversions - C# reference"
+title: "Built-in numeric conversions"
ms.date: 01/30/2023
helpviewer_keywords:
- "implicit numeric conversions [C#]"
diff --git a/docs/csharp/language-reference/builtin-types/record.md b/docs/csharp/language-reference/builtin-types/record.md
index 3190b90a4fc91..24c9f5c49dad4 100644
--- a/docs/csharp/language-reference/builtin-types/record.md
+++ b/docs/csharp/language-reference/builtin-types/record.md
@@ -1,5 +1,5 @@
---
-title: "Records - C# reference"
+title: "Records"
description: Learn about the record type in C#
ms.date: 05/25/2023
f1_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/ref-struct.md b/docs/csharp/language-reference/builtin-types/ref-struct.md
index 2787a306bd62b..1d971cb33ca2c 100644
--- a/docs/csharp/language-reference/builtin-types/ref-struct.md
+++ b/docs/csharp/language-reference/builtin-types/ref-struct.md
@@ -1,5 +1,5 @@
---
-title: "ref struct types - C# reference"
+title: "ref struct types"
description: Learn about the ref struct type in C#
ms.date: 10/12/2022
---
diff --git a/docs/csharp/language-reference/builtin-types/reference-types.md b/docs/csharp/language-reference/builtin-types/reference-types.md
index a4c9274df943f..7952b3fbadaa6 100644
--- a/docs/csharp/language-reference/builtin-types/reference-types.md
+++ b/docs/csharp/language-reference/builtin-types/reference-types.md
@@ -1,5 +1,5 @@
---
-title: "Built-in reference types - C# reference"
+title: "Built-in reference types"
description: "Learn about reference types that have C# keywords you can use to declare them."
ms.date: 08/16/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/struct.md b/docs/csharp/language-reference/builtin-types/struct.md
index 29fc7c455ba96..a97da2b6fa25b 100644
--- a/docs/csharp/language-reference/builtin-types/struct.md
+++ b/docs/csharp/language-reference/builtin-types/struct.md
@@ -1,5 +1,5 @@
---
-title: "Structure types - C# reference"
+title: "Structure types"
description: Learn about the struct type in C#
ms.date: 04/05/2023
f1_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/unmanaged-types.md b/docs/csharp/language-reference/builtin-types/unmanaged-types.md
index e96a62a2ea1f4..97e30d813e70b 100644
--- a/docs/csharp/language-reference/builtin-types/unmanaged-types.md
+++ b/docs/csharp/language-reference/builtin-types/unmanaged-types.md
@@ -1,6 +1,6 @@
---
description: Learn about unmanaged types in C#
-title: "Unmanaged types - C# reference"
+title: "Unmanaged types"
ms.date: 09/06/2019
helpviewer_keywords:
- "unmanaged type [C#]"
diff --git a/docs/csharp/language-reference/builtin-types/value-tuples.md b/docs/csharp/language-reference/builtin-types/value-tuples.md
index 0643bccee392e..68b0d49205eae 100644
--- a/docs/csharp/language-reference/builtin-types/value-tuples.md
+++ b/docs/csharp/language-reference/builtin-types/value-tuples.md
@@ -1,5 +1,5 @@
---
-title: "Tuple types - C# reference"
+title: "Tuple types"
description: "C# tuples: lightweight data structures that you can use to group loosely related data elements. Tuples introduce a type that contains multiple public members."
ms.date: 04/24/2023
helpviewer_keywords:
diff --git a/docs/csharp/language-reference/builtin-types/value-types.md b/docs/csharp/language-reference/builtin-types/value-types.md
index 5b6f3baefd6e8..5e69b85cd129c 100644
--- a/docs/csharp/language-reference/builtin-types/value-types.md
+++ b/docs/csharp/language-reference/builtin-types/value-types.md
@@ -1,6 +1,6 @@
---
description: Value types vs reference types, kinds of value types, and the built-in value types in C#
-title: "Value types - C# reference"
+title: "Value types"
ms.date: 01/22/2020
f1_keywords:
- "cs.valuetypes"
diff --git a/docs/csharp/language-reference/builtin-types/void.md b/docs/csharp/language-reference/builtin-types/void.md
index c7d6e7fbed463..8b4169a49eca2 100644
--- a/docs/csharp/language-reference/builtin-types/void.md
+++ b/docs/csharp/language-reference/builtin-types/void.md
@@ -1,6 +1,6 @@
---
description: Learn more about void keyword in C#
-title: "void - C# reference"
+title: "void"
ms.date: 02/11/2020
f1_keywords:
- "void_CSharpKeyword"
diff --git a/docs/csharp/language-reference/compiler-messages/cs0311.md b/docs/csharp/language-reference/compiler-messages/cs0311.md
index e431352df35e8..d5a69eaaf3511 100644
--- a/docs/csharp/language-reference/compiler-messages/cs0311.md
+++ b/docs/csharp/language-reference/compiler-messages/cs0311.md
@@ -16,7 +16,7 @@ The type 'type1' cannot be used as type parameter 'T' in the generic type or met
## To correct this error
-1. Change the argument you are using to create the class.
+1. Change the type argument you are using to own that fulfills the constraint.
2. If you own the class, you can remove the constraint or else do something to enable an implicit reference or identity conversion. For example, you can make the second type inherit from the first.
diff --git a/docs/csharp/language-reference/compiler-messages/expression-tree-restrictions.md b/docs/csharp/language-reference/compiler-messages/expression-tree-restrictions.md
index e2ed01f14bbb3..88f04a903efd1 100644
--- a/docs/csharp/language-reference/compiler-messages/expression-tree-restrictions.md
+++ b/docs/csharp/language-reference/compiler-messages/expression-tree-restrictions.md
@@ -1,5 +1,5 @@
---
-title: Some C# expressions are prohibited in expression trees. Learn which expressions aren't allowed
+title: Some expressions are prohibited in expression trees. Learn which expressions aren't allowed
description: These compiler errors and warnings indicate that an expression would include an expression that isn't allowed in an expression tree. You need to refactor your code to remove the prohibited expression.
f1_keywords:
- "CS0765"
diff --git a/docs/csharp/language-reference/compiler-messages/index.md b/docs/csharp/language-reference/compiler-messages/index.md
index 0d94e90b8b8fb..f8817bb4774e6 100644
--- a/docs/csharp/language-reference/compiler-messages/index.md
+++ b/docs/csharp/language-reference/compiler-messages/index.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Errors"
-title: "C# Compiler messages"
+title: "Compiler messages"
ms.date: 04/27/2021
helpviewer_keywords:
- "C# language, compiler errors"
diff --git a/docs/csharp/language-reference/compiler-messages/snippets/null-warnings/null-warnings.csproj b/docs/csharp/language-reference/compiler-messages/snippets/null-warnings/null-warnings.csproj
index 94b4fb9a3cbc1..cdbeab824ad4e 100644
--- a/docs/csharp/language-reference/compiler-messages/snippets/null-warnings/null-warnings.csproj
+++ b/docs/csharp/language-reference/compiler-messages/snippets/null-warnings/null-warnings.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/docs/csharp/language-reference/compiler-messages/warning-waves.md b/docs/csharp/language-reference/compiler-messages/warning-waves.md
index 2231bb567ee5c..0464405050013 100644
--- a/docs/csharp/language-reference/compiler-messages/warning-waves.md
+++ b/docs/csharp/language-reference/compiler-messages/warning-waves.md
@@ -1,5 +1,5 @@
---
-title: "C# Compiler warning waves"
+title: "Compiler warning waves"
description: "C# warning waves are optional warnings that can be reported on code where previously a warning wouldn't have been reported. They represent practices that could be harmful, or potentially elements that may be breaking changes in the future."
ms.date: 05/11/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/compiler-options/advanced.md b/docs/csharp/language-reference/compiler-options/advanced.md
index 23793eed76ed4..18d3aa0a35227 100644
--- a/docs/csharp/language-reference/compiler-options/advanced.md
+++ b/docs/csharp/language-reference/compiler-options/advanced.md
@@ -1,6 +1,6 @@
---
description: "Advanced C# Compiler Options. These options are used in advanced scenarios."
-title: "C# Compiler Options - advanced scenarios"
+title: "Compiler Options - advanced scenarios"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/code-generation.md b/docs/csharp/language-reference/compiler-options/code-generation.md
index 4d4490306f3af..7d9b62b528dfd 100644
--- a/docs/csharp/language-reference/compiler-options/code-generation.md
+++ b/docs/csharp/language-reference/compiler-options/code-generation.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options to control code generation. The options affect the code generated by the compiler for a given compilation."
-title: "C# Compiler Options - code generation options"
+title: "Compiler Options - code generation options"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/errors-warnings.md b/docs/csharp/language-reference/compiler-options/errors-warnings.md
index 289a960cf5b34..aa06eaf214b8b 100644
--- a/docs/csharp/language-reference/compiler-options/errors-warnings.md
+++ b/docs/csharp/language-reference/compiler-options/errors-warnings.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options for errors and warnings. These options suppress or enable warnings, and control warnings as errors."
-title: "C# Compiler Options - errors and warnings"
+title: "Compiler Options - errors and warnings"
ms.date: 10/30/2023
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/index.md b/docs/csharp/language-reference/compiler-options/index.md
index 2dce8cc72263a..5af1b8bddc7ca 100644
--- a/docs/csharp/language-reference/compiler-options/index.md
+++ b/docs/csharp/language-reference/compiler-options/index.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options. Learn the options that control the behavior of the C# compiler."
-title: "C# Compiler Options"
+title: "Compiler Options"
ms.date: 09/01/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/inputs.md b/docs/csharp/language-reference/compiler-options/inputs.md
index 238d39a9496b2..ae3b173b870fd 100644
--- a/docs/csharp/language-reference/compiler-options/inputs.md
+++ b/docs/csharp/language-reference/compiler-options/inputs.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options to control input files for compilation. These options specify how the compiler reads metadata from dependent assemblies and modules."
-title: "C# Compiler Options - input file options"
+title: "Compiler Options - input file options"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/language.md b/docs/csharp/language-reference/compiler-options/language.md
index 01b2aadbea579..fcf5207c4eaca 100644
--- a/docs/csharp/language-reference/compiler-options/language.md
+++ b/docs/csharp/language-reference/compiler-options/language.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options for language feature rules. These options control how the compiler interprets certain language constructs."
-title: "C# Compiler Options - language feature rules"
+title: "Compiler Options - language feature rules"
ms.date: 10/30/2023
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/miscellaneous.md b/docs/csharp/language-reference/compiler-options/miscellaneous.md
index 6e70b7ec1cacf..91cb2fea70a16 100644
--- a/docs/csharp/language-reference/compiler-options/miscellaneous.md
+++ b/docs/csharp/language-reference/compiler-options/miscellaneous.md
@@ -1,6 +1,6 @@
---
description: "Miscellaneous C# Compiler Options. These options provide general options to the compiler."
-title: "C# Compiler Options that don't fit other categories"
+title: "Compiler Options that don't fit other categories"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/output.md b/docs/csharp/language-reference/compiler-options/output.md
index d0c2148f17a26..612ac958563ec 100644
--- a/docs/csharp/language-reference/compiler-options/output.md
+++ b/docs/csharp/language-reference/compiler-options/output.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options that control compiler output. These options control the assembly generation from a compilation."
-title: "C# Compiler Options - Output options"
+title: "Compiler Options - Output options"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/resources.md b/docs/csharp/language-reference/compiler-options/resources.md
index fca0ac9d6f336..3f705edecd47a 100644
--- a/docs/csharp/language-reference/compiler-options/resources.md
+++ b/docs/csharp/language-reference/compiler-options/resources.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options to control Windows resources embedded in a dotnet application."
-title: "C# Compiler Options - resource options"
+title: "Compiler Options - resource options"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/compiler-options/security.md b/docs/csharp/language-reference/compiler-options/security.md
index cec2cd22d057d..ec95d517737bc 100644
--- a/docs/csharp/language-reference/compiler-options/security.md
+++ b/docs/csharp/language-reference/compiler-options/security.md
@@ -1,6 +1,6 @@
---
description: "C# Compiler Options for security. These options control signing assemblies or address space layout."
-title: "C# Compiler Options - security options"
+title: "Compiler Options - security options"
ms.date: 03/12/2021
f1_keywords:
- "cs.build.options"
diff --git a/docs/csharp/language-reference/configure-language-version.md b/docs/csharp/language-reference/configure-language-version.md
index e03de4a597a83..c3749cbe111a5 100644
--- a/docs/csharp/language-reference/configure-language-version.md
+++ b/docs/csharp/language-reference/configure-language-version.md
@@ -1,5 +1,5 @@
---
-title: Configure C# language version - C# Guide
+title: Configure language version
description: Learn how to override the default C# language version manually.
ms.custom: "updateeachrelease"
ms.date: 10/30/2023
diff --git a/docs/csharp/language-reference/keywords/abstract.md b/docs/csharp/language-reference/keywords/abstract.md
index 7893e420f6e03..1008cc1c0d9f1 100644
--- a/docs/csharp/language-reference/keywords/abstract.md
+++ b/docs/csharp/language-reference/keywords/abstract.md
@@ -1,6 +1,6 @@
---
description: "abstract - C# Reference"
-title: "abstract - C# Reference"
+title: "abstract keyword"
ms.date: 07/20/2015
f1_keywords:
- "abstract"
diff --git a/docs/csharp/language-reference/keywords/access-modifiers.md b/docs/csharp/language-reference/keywords/access-modifiers.md
index dc92fed286c2b..1bbe636c5c54d 100644
--- a/docs/csharp/language-reference/keywords/access-modifiers.md
+++ b/docs/csharp/language-reference/keywords/access-modifiers.md
@@ -1,6 +1,6 @@
---
description: "Access Modifiers - C# Reference"
-title: "Access Modifiers - C# Reference"
+title: "Access Modifiers"
ms.date: 09/15/2022
helpviewer_keywords:
- "access modifiers [C#]"
diff --git a/docs/csharp/language-reference/keywords/accessibility-domain.md b/docs/csharp/language-reference/keywords/accessibility-domain.md
index d6657c3936120..8ff15abba1d32 100644
--- a/docs/csharp/language-reference/keywords/accessibility-domain.md
+++ b/docs/csharp/language-reference/keywords/accessibility-domain.md
@@ -1,6 +1,6 @@
---
description: "Accessibility Domain - C# Reference"
-title: "Accessibility Domain - C# Reference"
+title: "Accessibility Domain"
ms.date: 07/20/2015
helpviewer_keywords:
- "accessibility domain [C#]"
diff --git a/docs/csharp/language-reference/keywords/accessibility-levels.md b/docs/csharp/language-reference/keywords/accessibility-levels.md
index bb02b12f2ecb4..4b183cc537c59 100644
--- a/docs/csharp/language-reference/keywords/accessibility-levels.md
+++ b/docs/csharp/language-reference/keywords/accessibility-levels.md
@@ -1,6 +1,6 @@
---
description: "Accessibility Levels - C# Reference"
-title: "Accessibility Levels - C# Reference"
+title: "Accessibility Levels"
ms.date: 12/06/2017
helpviewer_keywords:
- "access modifiers [C#], accessibility levels"
diff --git a/docs/csharp/language-reference/keywords/add.md b/docs/csharp/language-reference/keywords/add.md
index 2db4a32384874..915a3aa8ce8ec 100644
--- a/docs/csharp/language-reference/keywords/add.md
+++ b/docs/csharp/language-reference/keywords/add.md
@@ -1,6 +1,6 @@
---
description: Learn how to create custom event accessors using add keyword in C#
-title: "add - C# Reference"
+title: "add keyword"
ms.date: 07/20/2015
f1_keywords:
- "add_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/ascending.md b/docs/csharp/language-reference/keywords/ascending.md
index dd679bf9d5bf1..a75e97802191e 100644
--- a/docs/csharp/language-reference/keywords/ascending.md
+++ b/docs/csharp/language-reference/keywords/ascending.md
@@ -1,6 +1,6 @@
---
description: "ascending - C# Reference"
-title: "ascending - C# Reference"
+title: "ascending keyword"
ms.date: 07/20/2015
f1_keywords:
- "ascending"
diff --git a/docs/csharp/language-reference/keywords/async.md b/docs/csharp/language-reference/keywords/async.md
index 974178d5c6634..5eb950a5fb9d8 100644
--- a/docs/csharp/language-reference/keywords/async.md
+++ b/docs/csharp/language-reference/keywords/async.md
@@ -1,6 +1,6 @@
---
description: "async - C# Reference"
-title: "async - C# Reference"
+title: "async keyword"
ms.date: 05/22/2017
f1_keywords:
- "async_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/base.md b/docs/csharp/language-reference/keywords/base.md
index d9d3724de6dfe..6bda6ee784019 100644
--- a/docs/csharp/language-reference/keywords/base.md
+++ b/docs/csharp/language-reference/keywords/base.md
@@ -1,5 +1,5 @@
---
-title: "base keyword - C# Reference"
+title: "base keyword"
description: Learn about the base keyword, which is used to access members of the base class from within a derived class in C#.
ms.date: 07/20/2015
f1_keywords:
diff --git a/docs/csharp/language-reference/keywords/by.md b/docs/csharp/language-reference/keywords/by.md
index b6bf198c8462f..e8fe60bf234e7 100644
--- a/docs/csharp/language-reference/keywords/by.md
+++ b/docs/csharp/language-reference/keywords/by.md
@@ -1,6 +1,6 @@
---
description: "by contextual keyword - C# Reference"
-title: "by contextual keyword - C# Reference"
+title: "by contextual keyword"
ms.date: 07/20/2015
f1_keywords:
- "by"
diff --git a/docs/csharp/language-reference/keywords/class.md b/docs/csharp/language-reference/keywords/class.md
index f6c9c42c18bd6..3a190ccf98a1d 100644
--- a/docs/csharp/language-reference/keywords/class.md
+++ b/docs/csharp/language-reference/keywords/class.md
@@ -1,6 +1,6 @@
---
description: "class keyword - C# Reference"
-title: "class keyword - C# Reference"
+title: "class keyword"
ms.date: 07/18/2017
f1_keywords:
- "class_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/const.md b/docs/csharp/language-reference/keywords/const.md
index f63ab251e807c..edafa4104d9e6 100644
--- a/docs/csharp/language-reference/keywords/const.md
+++ b/docs/csharp/language-reference/keywords/const.md
@@ -1,6 +1,6 @@
---
description: "const keyword - C# Reference"
-title: "const keyword - C# Reference"
+title: "const keyword"
ms.date: 06/20/2021
f1_keywords:
- "const_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/default.md b/docs/csharp/language-reference/keywords/default.md
index fc98fd4561a44..82b0d31adf167 100644
--- a/docs/csharp/language-reference/keywords/default.md
+++ b/docs/csharp/language-reference/keywords/default.md
@@ -1,6 +1,6 @@
---
description: "default - C# reference"
-title: "default - C# reference"
+title: "default keyword"
ms.date: 04/28/2021
f1_keywords:
- "default"
diff --git a/docs/csharp/language-reference/keywords/descending.md b/docs/csharp/language-reference/keywords/descending.md
index 41a00e64d5d69..9c48aaffb8e6f 100644
--- a/docs/csharp/language-reference/keywords/descending.md
+++ b/docs/csharp/language-reference/keywords/descending.md
@@ -1,6 +1,6 @@
---
description: "descending contextual keyword - C# Reference"
-title: "descending contextual keyword - C# Reference"
+title: "descending contextual keyword"
ms.date: 07/20/2015
f1_keywords:
- "descending"
diff --git a/docs/csharp/language-reference/keywords/equals.md b/docs/csharp/language-reference/keywords/equals.md
index 62c0d4921db0c..1918cf6591434 100644
--- a/docs/csharp/language-reference/keywords/equals.md
+++ b/docs/csharp/language-reference/keywords/equals.md
@@ -1,6 +1,6 @@
---
description: "equals contextual keyword - C# Reference"
-title: "equals contextual keyword - C# Reference"
+title: "equals contextual keyword"
ms.date: 07/20/2015
f1_keywords:
- "equals_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/event.md b/docs/csharp/language-reference/keywords/event.md
index 622de80d09694..b1143baba83b0 100644
--- a/docs/csharp/language-reference/keywords/event.md
+++ b/docs/csharp/language-reference/keywords/event.md
@@ -1,6 +1,6 @@
---
description: "event - C# Reference"
-title: "event - C# Reference"
+title: "event keyword"
ms.date: 07/20/2015
f1_keywords:
- "event"
diff --git a/docs/csharp/language-reference/keywords/extern-alias.md b/docs/csharp/language-reference/keywords/extern-alias.md
index 724a1788b8824..979e31e62911b 100644
--- a/docs/csharp/language-reference/keywords/extern-alias.md
+++ b/docs/csharp/language-reference/keywords/extern-alias.md
@@ -1,6 +1,6 @@
---
description: "extern alias - C# Reference"
-title: "extern alias - C# Reference"
+title: "extern alias"
ms.date: 07/20/2015
f1_keywords:
- "alias_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/extern.md b/docs/csharp/language-reference/keywords/extern.md
index 2868420ca957a..bbe9cde481cd9 100644
--- a/docs/csharp/language-reference/keywords/extern.md
+++ b/docs/csharp/language-reference/keywords/extern.md
@@ -1,6 +1,6 @@
---
description: "extern modifier - C# Reference"
-title: "extern modifier - C# Reference"
+title: "extern modifier"
ms.date: 07/20/2015
f1_keywords:
- "extern_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/file.md b/docs/csharp/language-reference/keywords/file.md
index 5bd85c2887e26..a2a2d8fef1cb5 100644
--- a/docs/csharp/language-reference/keywords/file.md
+++ b/docs/csharp/language-reference/keywords/file.md
@@ -1,6 +1,6 @@
---
description: "file modifier: Declare types whose scope is the file in which it's declared"
-title: "file keyword - C# Reference"
+title: "file keyword"
ms.date: 09/15/2022
f1_keywords:
- "file_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/from-clause.md b/docs/csharp/language-reference/keywords/from-clause.md
index f0f83950f4f82..15be8ae00b8ea 100644
--- a/docs/csharp/language-reference/keywords/from-clause.md
+++ b/docs/csharp/language-reference/keywords/from-clause.md
@@ -1,6 +1,6 @@
---
description: "from clause - C# Reference"
-title: "from clause - C# Reference"
+title: "from clause"
ms.date: 07/20/2015
f1_keywords:
- "from_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/get.md b/docs/csharp/language-reference/keywords/get.md
index bd9a3627a8086..efb030432930d 100644
--- a/docs/csharp/language-reference/keywords/get.md
+++ b/docs/csharp/language-reference/keywords/get.md
@@ -1,6 +1,6 @@
---
description: "get - C# Reference"
-title: "get - C# Reference"
+title: "get keyword"
ms.date: 03/10/2017
f1_keywords:
- "get_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/group-clause.md b/docs/csharp/language-reference/keywords/group-clause.md
index fb750f14afd99..f3bbe495da01e 100644
--- a/docs/csharp/language-reference/keywords/group-clause.md
+++ b/docs/csharp/language-reference/keywords/group-clause.md
@@ -1,6 +1,6 @@
---
description: "group clause - C# Reference"
-title: "group clause - C# Reference"
+title: "group clause"
ms.date: 07/20/2015
f1_keywords:
- "group"
diff --git a/docs/csharp/language-reference/keywords/in-generic-modifier.md b/docs/csharp/language-reference/keywords/in-generic-modifier.md
index 18d3e91228fd5..656c395785123 100644
--- a/docs/csharp/language-reference/keywords/in-generic-modifier.md
+++ b/docs/csharp/language-reference/keywords/in-generic-modifier.md
@@ -1,6 +1,6 @@
---
description: "in (Generic Modifier) - C# Reference"
-title: "in (Generic Modifier) - C# Reference"
+title: "in (Generic Modifier)"
ms.date: 07/20/2015
helpviewer_keywords:
- "contravariance, in keyword [C#]"
diff --git a/docs/csharp/language-reference/keywords/in.md b/docs/csharp/language-reference/keywords/in.md
index 8c46b6514b1f2..88c72975dbefb 100644
--- a/docs/csharp/language-reference/keywords/in.md
+++ b/docs/csharp/language-reference/keywords/in.md
@@ -1,6 +1,6 @@
---
description: "in - C# Reference"
-title: "in - C# Reference"
+title: "in keyword"
ms.date: 02/06/2018
f1_keywords:
- "in"
diff --git a/docs/csharp/language-reference/keywords/index.md b/docs/csharp/language-reference/keywords/index.md
index e3bb3eea71592..6e7ed51432ddf 100644
--- a/docs/csharp/language-reference/keywords/index.md
+++ b/docs/csharp/language-reference/keywords/index.md
@@ -1,6 +1,6 @@
---
description: "C# Keywords"
-title: "C# Keywords"
+title: "Keywords"
ms.date: 09/15/2022
f1_keywords:
- "cs.keywords"
diff --git a/docs/csharp/language-reference/keywords/init.md b/docs/csharp/language-reference/keywords/init.md
index 6efaaa88eeff9..bffbc345e2b45 100644
--- a/docs/csharp/language-reference/keywords/init.md
+++ b/docs/csharp/language-reference/keywords/init.md
@@ -1,6 +1,6 @@
---
description: "init keyword - C# Reference"
-title: "init keyword - C# Reference"
+title: "init keyword"
ms.date: 12/06/2023
f1_keywords:
- "init"
diff --git a/docs/csharp/language-reference/keywords/interface.md b/docs/csharp/language-reference/keywords/interface.md
index e49103d35e058..d14aa6d3ad6cd 100644
--- a/docs/csharp/language-reference/keywords/interface.md
+++ b/docs/csharp/language-reference/keywords/interface.md
@@ -1,6 +1,6 @@
---
description: "Use the `interface` keyword to define contracts that any implementing type must support. Interfaces provide the means to create common behavior among a set of unrelated types."
-title: "interface - C# Reference"
+title: "interface keyword"
ms.date: 07/08/2022
f1_keywords:
- "interface_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/internal.md b/docs/csharp/language-reference/keywords/internal.md
index 127fcab4fc301..ca41f289cfcc3 100644
--- a/docs/csharp/language-reference/keywords/internal.md
+++ b/docs/csharp/language-reference/keywords/internal.md
@@ -1,6 +1,6 @@
---
description: "internal - C# Reference"
-title: "internal - C# Reference"
+title: "internal keyword"
ms.date: 07/20/2015
f1_keywords:
- "internal_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/into.md b/docs/csharp/language-reference/keywords/into.md
index 00dcac5fca65a..f56dbe422f85e 100644
--- a/docs/csharp/language-reference/keywords/into.md
+++ b/docs/csharp/language-reference/keywords/into.md
@@ -1,6 +1,6 @@
---
description: "into - C# Reference"
-title: "into - C# Reference"
+title: "into keyword"
ms.date: 07/20/2015
f1_keywords:
- "into_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/join-clause.md b/docs/csharp/language-reference/keywords/join-clause.md
index 95373fe43a231..9c5737b35fa5b 100644
--- a/docs/csharp/language-reference/keywords/join-clause.md
+++ b/docs/csharp/language-reference/keywords/join-clause.md
@@ -1,6 +1,6 @@
---
description: "join clause - C# Reference"
-title: "join clause - C# Reference"
+title: "join clause"
ms.date: 07/20/2015
f1_keywords:
- "join"
diff --git a/docs/csharp/language-reference/keywords/let-clause.md b/docs/csharp/language-reference/keywords/let-clause.md
index d5782d983f782..99c26892e160d 100644
--- a/docs/csharp/language-reference/keywords/let-clause.md
+++ b/docs/csharp/language-reference/keywords/let-clause.md
@@ -1,6 +1,6 @@
---
description: "let clause - C# Reference"
-title: "let clause - C# Reference"
+title: "let clause"
ms.date: 07/20/2015
f1_keywords:
- "let_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/namespace.md b/docs/csharp/language-reference/keywords/namespace.md
index 7a60c0de6cb35..67b21d2a33a9e 100644
--- a/docs/csharp/language-reference/keywords/namespace.md
+++ b/docs/csharp/language-reference/keywords/namespace.md
@@ -1,6 +1,6 @@
---
description: "namespace keyword - C# Reference"
-title: "namespace keyword - C# Reference"
+title: "namespace keyword"
ms.date: 08/19/2021
f1_keywords:
- "namespace_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/new-constraint.md b/docs/csharp/language-reference/keywords/new-constraint.md
index c8c60672a8599..b7824b7ab4ab5 100644
--- a/docs/csharp/language-reference/keywords/new-constraint.md
+++ b/docs/csharp/language-reference/keywords/new-constraint.md
@@ -1,6 +1,6 @@
---
description: "new constraint - C# Reference"
-title: "new constraint - C# Reference"
+title: "new constraint"
ms.date: 07/20/2015
helpviewer_keywords:
- "new constraint keyword [C#]"
diff --git a/docs/csharp/language-reference/keywords/new-modifier.md b/docs/csharp/language-reference/keywords/new-modifier.md
index 99de07c666ac6..13ad27d9e7214 100644
--- a/docs/csharp/language-reference/keywords/new-modifier.md
+++ b/docs/csharp/language-reference/keywords/new-modifier.md
@@ -1,6 +1,6 @@
---
description: "new modifier - C# Reference"
-title: "new modifier - C# Reference"
+title: "new modifier"
ms.date: 07/20/2015
helpviewer_keywords:
- "new modifier keyword [C#]"
diff --git a/docs/csharp/language-reference/keywords/new.md b/docs/csharp/language-reference/keywords/new.md
index 6af21101eb42e..0b40427a4ad75 100644
--- a/docs/csharp/language-reference/keywords/new.md
+++ b/docs/csharp/language-reference/keywords/new.md
@@ -1,6 +1,6 @@
---
description: "new - C# Reference"
-title: "new - C# Reference"
+title: "new keyword"
ms.date: 01/02/2024
f1_keywords:
- "new"
diff --git a/docs/csharp/language-reference/keywords/null.md b/docs/csharp/language-reference/keywords/null.md
index 884002f209f19..6fd0667b19e8b 100644
--- a/docs/csharp/language-reference/keywords/null.md
+++ b/docs/csharp/language-reference/keywords/null.md
@@ -1,6 +1,6 @@
---
description: "null keyword - C# Reference"
-title: "null keyword - C# Reference"
+title: "null keyword"
ms.date: 07/20/2015
f1_keywords:
- "null"
diff --git a/docs/csharp/language-reference/keywords/on.md b/docs/csharp/language-reference/keywords/on.md
index 93d8956fc5aea..5b2f4fbba8193 100644
--- a/docs/csharp/language-reference/keywords/on.md
+++ b/docs/csharp/language-reference/keywords/on.md
@@ -1,6 +1,6 @@
---
description: "on keyword - C# Reference"
-title: "on keyword - C# Reference"
+title: "on keyword"
ms.date: 07/20/2015
f1_keywords:
- "on_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/orderby-clause.md b/docs/csharp/language-reference/keywords/orderby-clause.md
index c23d89b62cad8..7778b6a643056 100644
--- a/docs/csharp/language-reference/keywords/orderby-clause.md
+++ b/docs/csharp/language-reference/keywords/orderby-clause.md
@@ -1,6 +1,6 @@
---
description: "orderby clause - C# Reference"
-title: "orderby clause - C# Reference"
+title: "orderby clause"
ms.date: 07/20/2015
f1_keywords:
- "orderby"
diff --git a/docs/csharp/language-reference/keywords/out-generic-modifier.md b/docs/csharp/language-reference/keywords/out-generic-modifier.md
index 00ab8d1a71b2d..580d58ce3db60 100644
--- a/docs/csharp/language-reference/keywords/out-generic-modifier.md
+++ b/docs/csharp/language-reference/keywords/out-generic-modifier.md
@@ -1,6 +1,6 @@
---
description: "out keyword (generic modifier) - C# Reference"
-title: "out keyword (generic modifier) - C# Reference"
+title: "out keyword (generic modifier)"
ms.date: 07/20/2015
helpviewer_keywords:
- "covariance, out keyword [C#]"
diff --git a/docs/csharp/language-reference/keywords/out.md b/docs/csharp/language-reference/keywords/out.md
index eb79ea06fc6d3..9c4441a630da2 100644
--- a/docs/csharp/language-reference/keywords/out.md
+++ b/docs/csharp/language-reference/keywords/out.md
@@ -1,6 +1,6 @@
---
description: "out keyword - C# Reference"
-title: "out keyword - C# Reference"
+title: "out keyword"
ms.date: 03/01/2017
f1_keywords:
- "out_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/override.md b/docs/csharp/language-reference/keywords/override.md
index 45e3ee6c648f3..ba8204cb9b1d1 100644
--- a/docs/csharp/language-reference/keywords/override.md
+++ b/docs/csharp/language-reference/keywords/override.md
@@ -1,6 +1,6 @@
---
description: "override modifier - C# Reference"
-title: "override modifier - C# Reference"
+title: "override modifier"
ms.date: 10/22/2020
f1_keywords:
- "override"
diff --git a/docs/csharp/language-reference/keywords/partial-method.md b/docs/csharp/language-reference/keywords/partial-method.md
index 2428bf0300d3e..149d51e294b2a 100644
--- a/docs/csharp/language-reference/keywords/partial-method.md
+++ b/docs/csharp/language-reference/keywords/partial-method.md
@@ -1,6 +1,6 @@
---
description: "partial method - C# Reference"
-title: "partial method - C# Reference"
+title: "partial method"
ms.date: 03/23/2021
f1_keywords:
- "partialmethod_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/partial-type.md b/docs/csharp/language-reference/keywords/partial-type.md
index 463ae52183000..04caed825fc4a 100644
--- a/docs/csharp/language-reference/keywords/partial-type.md
+++ b/docs/csharp/language-reference/keywords/partial-type.md
@@ -1,6 +1,6 @@
---
description: "partial type - C# Reference"
-title: "partial type - C# Reference"
+title: "partial type"
ms.date: 07/20/2015
f1_keywords:
- "partialtype"
diff --git a/docs/csharp/language-reference/keywords/private-protected.md b/docs/csharp/language-reference/keywords/private-protected.md
index 41746ae3a53f7..e4a25999a1f6e 100644
--- a/docs/csharp/language-reference/keywords/private-protected.md
+++ b/docs/csharp/language-reference/keywords/private-protected.md
@@ -1,6 +1,6 @@
---
description: "private protected - C# Reference"
-title: "private protected - C# Reference"
+title: "private protected keyword"
ms.date: 11/15/2017
f1_keywords:
- "privateprotected_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/private.md b/docs/csharp/language-reference/keywords/private.md
index 4d4b70c0d3d65..e40ea16abafb0 100644
--- a/docs/csharp/language-reference/keywords/private.md
+++ b/docs/csharp/language-reference/keywords/private.md
@@ -1,6 +1,6 @@
---
description: "private keyword - C# Reference"
-title: "private keyword - C# Reference"
+title: "private keyword"
ms.date: 07/20/2015
f1_keywords:
- "private_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/protected-internal.md b/docs/csharp/language-reference/keywords/protected-internal.md
index 38a0f5ff3acd8..77ca6fb9aae29 100644
--- a/docs/csharp/language-reference/keywords/protected-internal.md
+++ b/docs/csharp/language-reference/keywords/protected-internal.md
@@ -1,6 +1,6 @@
---
description: "protected internal - C# Reference"
-title: "protected internal - C# Reference"
+title: "protected internal keyword"
ms.date: 11/15/2017
f1_keywords:
- "protectedinternal_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/protected.md b/docs/csharp/language-reference/keywords/protected.md
index 9020a682e40b9..5d03de0f8df41 100644
--- a/docs/csharp/language-reference/keywords/protected.md
+++ b/docs/csharp/language-reference/keywords/protected.md
@@ -1,6 +1,6 @@
---
description: "protected keyword - C# Reference"
-title: "protected keyword - C# Reference"
+title: "protected keyword"
ms.date: 07/20/2015
f1_keywords:
- "protected"
diff --git a/docs/csharp/language-reference/keywords/public.md b/docs/csharp/language-reference/keywords/public.md
index 99faf0d9da01c..bbe1a3ad4195e 100644
--- a/docs/csharp/language-reference/keywords/public.md
+++ b/docs/csharp/language-reference/keywords/public.md
@@ -1,6 +1,6 @@
---
description: "public keyword - C# Reference"
-title: "public keyword - C# Reference"
+title: "public keyword"
ms.date: 07/20/2015
f1_keywords:
- "public"
diff --git a/docs/csharp/language-reference/keywords/query-keywords.md b/docs/csharp/language-reference/keywords/query-keywords.md
index fd73da03609ad..f3b66b3cac599 100644
--- a/docs/csharp/language-reference/keywords/query-keywords.md
+++ b/docs/csharp/language-reference/keywords/query-keywords.md
@@ -1,6 +1,6 @@
---
description: "Query keywords - C# Reference"
-title: "Query keywords - C# Reference"
+title: "Query keywords"
ms.date: 07/20/2015
helpviewer_keywords:
- "query keywords [C#]"
diff --git a/docs/csharp/language-reference/keywords/readonly.md b/docs/csharp/language-reference/keywords/readonly.md
index 03c0d78921068..ce902dd16b047 100644
--- a/docs/csharp/language-reference/keywords/readonly.md
+++ b/docs/csharp/language-reference/keywords/readonly.md
@@ -1,6 +1,6 @@
---
description: "readonly keyword - C# Reference"
-title: "readonly keyword - C# Reference"
+title: "readonly keyword"
ms.date: 01/09/2024
f1_keywords:
- "readonly_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/ref.md b/docs/csharp/language-reference/keywords/ref.md
index 3987b8e9e8d92..12ea133d42c08 100644
--- a/docs/csharp/language-reference/keywords/ref.md
+++ b/docs/csharp/language-reference/keywords/ref.md
@@ -1,6 +1,6 @@
---
description: "ref keyword - C# Reference"
-title: "ref keyword - C# Reference"
+title: "ref keyword"
ms.date: 09/23/2023
f1_keywords:
- "ref_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/reference-types.md b/docs/csharp/language-reference/keywords/reference-types.md
index 33f895f4c32e0..8a69674005a62 100644
--- a/docs/csharp/language-reference/keywords/reference-types.md
+++ b/docs/csharp/language-reference/keywords/reference-types.md
@@ -1,6 +1,6 @@
---
description: "Reference types - C# Reference"
-title: "Reference types - C# Reference"
+title: "Reference types"
ms.date: 07/20/2015
f1_keywords:
- "cs.referencetypes"
diff --git a/docs/csharp/language-reference/keywords/remove.md b/docs/csharp/language-reference/keywords/remove.md
index 632f4a2a39752..7d51ed57bfa6f 100644
--- a/docs/csharp/language-reference/keywords/remove.md
+++ b/docs/csharp/language-reference/keywords/remove.md
@@ -1,6 +1,6 @@
---
description: "remove contextual keyword - C# Reference"
-title: "remove contextual keyword - C# Reference"
+title: "remove contextual keyword"
ms.date: 07/20/2015
f1_keywords:
- "remove_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/required.md b/docs/csharp/language-reference/keywords/required.md
index d0736c58270ae..78c2fd29ca0c2 100644
--- a/docs/csharp/language-reference/keywords/required.md
+++ b/docs/csharp/language-reference/keywords/required.md
@@ -1,6 +1,6 @@
---
description: "required modifier - C# Reference"
-title: "required modifier - C# Reference"
+title: "required modifier"
ms.date: 01/30/2023
f1_keywords:
- "required_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/restrictions-on-using-accessibility-levels.md b/docs/csharp/language-reference/keywords/restrictions-on-using-accessibility-levels.md
index 668cc6bb56fa0..104c0c092929d 100644
--- a/docs/csharp/language-reference/keywords/restrictions-on-using-accessibility-levels.md
+++ b/docs/csharp/language-reference/keywords/restrictions-on-using-accessibility-levels.md
@@ -1,6 +1,6 @@
---
description: "Restrictions on using accessibility levels - C# Reference"
-title: "Restrictions on using accessibility levels - C# Reference"
+title: "Restrictions on using accessibility levels"
ms.date: 07/20/2015
helpviewer_keywords:
- "access modifiers [C#], accessibility level restrictions"
diff --git a/docs/csharp/language-reference/keywords/sealed.md b/docs/csharp/language-reference/keywords/sealed.md
index bd5ba06e72e67..e1a676a5f0c2f 100644
--- a/docs/csharp/language-reference/keywords/sealed.md
+++ b/docs/csharp/language-reference/keywords/sealed.md
@@ -1,6 +1,6 @@
---
description: "sealed modifier - C# Reference"
-title: "sealed modifier - C# Reference"
+title: "sealed modifier"
ms.date: 07/20/2015
f1_keywords:
- "sealed"
diff --git a/docs/csharp/language-reference/keywords/select-clause.md b/docs/csharp/language-reference/keywords/select-clause.md
index ef3a7042429d1..38bc8c30d5af8 100644
--- a/docs/csharp/language-reference/keywords/select-clause.md
+++ b/docs/csharp/language-reference/keywords/select-clause.md
@@ -1,6 +1,6 @@
---
description: "select clause - C# Reference"
-title: "select clause - C# Reference"
+title: "select clause"
ms.date: 07/20/2015
f1_keywords:
- "select_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/set.md b/docs/csharp/language-reference/keywords/set.md
index d050d5dd64a02..069c4a3f27701 100644
--- a/docs/csharp/language-reference/keywords/set.md
+++ b/docs/csharp/language-reference/keywords/set.md
@@ -1,6 +1,6 @@
---
description: "set keyword - C# Reference"
-title: "set keyword - C# Reference"
+title: "set keyword"
ms.date: 03/10/2017
f1_keywords:
- "set"
diff --git a/docs/csharp/language-reference/keywords/statement-keywords.md b/docs/csharp/language-reference/keywords/statement-keywords.md
index 0bde637dcc724..c149f831c5eca 100644
--- a/docs/csharp/language-reference/keywords/statement-keywords.md
+++ b/docs/csharp/language-reference/keywords/statement-keywords.md
@@ -1,6 +1,6 @@
---
description: "Statement keywords - C# Reference"
-title: "Statement keywords - C# Reference"
+title: "Statement keywords"
ms.date: 07/20/2015
helpviewer_keywords:
- "keywords [C#], statements"
diff --git a/docs/csharp/language-reference/keywords/static.md b/docs/csharp/language-reference/keywords/static.md
index 30d79b7692a03..e1937a3588800 100644
--- a/docs/csharp/language-reference/keywords/static.md
+++ b/docs/csharp/language-reference/keywords/static.md
@@ -1,6 +1,6 @@
---
description: "static modifier - C# Reference"
-title: "static modifier - C# Reference"
+title: "static modifier"
ms.date: 09/25/2020
f1_keywords:
- "static"
diff --git a/docs/csharp/language-reference/keywords/this.md b/docs/csharp/language-reference/keywords/this.md
index 69e1d35478653..f39a05ea10390 100644
--- a/docs/csharp/language-reference/keywords/this.md
+++ b/docs/csharp/language-reference/keywords/this.md
@@ -1,5 +1,5 @@
---
-title: "this keyword - C# Reference"
+title: "this keyword"
description: this keyword (C# Reference)
ms.date: 07/20/2015
f1_keywords:
diff --git a/docs/csharp/language-reference/keywords/unsafe.md b/docs/csharp/language-reference/keywords/unsafe.md
index 36dc5cf38baf9..932a08489d3ea 100644
--- a/docs/csharp/language-reference/keywords/unsafe.md
+++ b/docs/csharp/language-reference/keywords/unsafe.md
@@ -1,6 +1,6 @@
---
description: "unsafe keyword - C# Reference"
-title: "unsafe keyword - C# Reference"
+title: "unsafe keyword"
ms.date: 07/20/2015
f1_keywords:
- "unsafe_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/using-directive.md b/docs/csharp/language-reference/keywords/using-directive.md
index 9282ba32a2d57..47e571f88dac6 100644
--- a/docs/csharp/language-reference/keywords/using-directive.md
+++ b/docs/csharp/language-reference/keywords/using-directive.md
@@ -1,6 +1,6 @@
---
description: "using directive - C# Reference"
-title: "using directive - C# Reference"
+title: "using directive"
ms.date: 08/19/2021
f1_keywords:
- "using_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/using.md b/docs/csharp/language-reference/keywords/using.md
index 0e18cfa5e97d3..281da2a445385 100644
--- a/docs/csharp/language-reference/keywords/using.md
+++ b/docs/csharp/language-reference/keywords/using.md
@@ -1,5 +1,5 @@
---
-title: "using keyword - C# reference"
+title: "using keyword"
description: "using keyword - C# reference"
ms.date: 04/05/2019
f1_keywords:
diff --git a/docs/csharp/language-reference/keywords/value.md b/docs/csharp/language-reference/keywords/value.md
index fc11e2263fbee..b48d82267da39 100644
--- a/docs/csharp/language-reference/keywords/value.md
+++ b/docs/csharp/language-reference/keywords/value.md
@@ -1,6 +1,6 @@
---
description: "value contextual keyword - C# Reference"
-title: "value contextual keyword - C# Reference"
+title: "value contextual keyword"
ms.date: 07/20/2015
f1_keywords:
- "value_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/virtual.md b/docs/csharp/language-reference/keywords/virtual.md
index 826c2eb791a6a..e99e5a6bfddb0 100644
--- a/docs/csharp/language-reference/keywords/virtual.md
+++ b/docs/csharp/language-reference/keywords/virtual.md
@@ -1,6 +1,6 @@
---
description: "virtual - C# Reference"
-title: "virtual - C# Reference"
+title: "virtual keyword"
ms.date: 07/20/2015
f1_keywords:
- "virtual_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/volatile.md b/docs/csharp/language-reference/keywords/volatile.md
index 9a6f452fde224..ed729faf67a9e 100644
--- a/docs/csharp/language-reference/keywords/volatile.md
+++ b/docs/csharp/language-reference/keywords/volatile.md
@@ -1,6 +1,6 @@
---
description: "volatile - C# Reference"
-title: "volatile - C# Reference"
+title: "volatile keyword"
ms.date: 10/24/2018
f1_keywords:
- "volatile_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/when.md b/docs/csharp/language-reference/keywords/when.md
index db759ef731858..b0aafe972e071 100644
--- a/docs/csharp/language-reference/keywords/when.md
+++ b/docs/csharp/language-reference/keywords/when.md
@@ -1,6 +1,6 @@
---
description: "when contextual keyword - C# reference"
-title: "when contextual keyword - C# reference"
+title: "when contextual keyword"
ms.date: 03/07/2017
f1_keywords:
- "when_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/where-clause.md b/docs/csharp/language-reference/keywords/where-clause.md
index df60c5c5a00c1..5b6a5871dc2ce 100644
--- a/docs/csharp/language-reference/keywords/where-clause.md
+++ b/docs/csharp/language-reference/keywords/where-clause.md
@@ -1,6 +1,6 @@
---
description: "where clause - C# Reference"
-title: "where clause - C# Reference"
+title: "where clause"
ms.date: 07/20/2015
f1_keywords:
- "whereclause_CSharpKeyword"
diff --git a/docs/csharp/language-reference/keywords/where-generic-type-constraint.md b/docs/csharp/language-reference/keywords/where-generic-type-constraint.md
index 2044dd292fd5b..4cb72836a70d3 100644
--- a/docs/csharp/language-reference/keywords/where-generic-type-constraint.md
+++ b/docs/csharp/language-reference/keywords/where-generic-type-constraint.md
@@ -1,6 +1,6 @@
---
description: "where (generic type constraint) - C# Reference"
-title: "where (generic type constraint) - C# Reference"
+title: "where (generic type constraint)"
ms.date: 04/28/2021
f1_keywords:
diff --git a/docs/csharp/language-reference/language-versioning.md b/docs/csharp/language-reference/language-versioning.md
index 92f39cd3a2fbd..a4046c4167caa 100644
--- a/docs/csharp/language-reference/language-versioning.md
+++ b/docs/csharp/language-reference/language-versioning.md
@@ -1,5 +1,5 @@
---
-title: C# language versioning - C# Guide
+title: Language versioning
description: Learn about how the C# language version is determined based on your project and the reasons behind that choice.
ms.custom: "updateeachrelease"
ms.date: 10/30/2023
diff --git a/docs/csharp/language-reference/operators/arithmetic-operators.md b/docs/csharp/language-reference/operators/arithmetic-operators.md
index 8a97e6251c95f..ae08b6779461d 100644
--- a/docs/csharp/language-reference/operators/arithmetic-operators.md
+++ b/docs/csharp/language-reference/operators/arithmetic-operators.md
@@ -1,5 +1,5 @@
---
-title: "Arithmetic operators - C# reference"
+title: "Arithmetic operators"
description: "Learn about C# operators that perform multiplication, division, remainder, addition, and subtraction operations with numeric types."
ms.date: 07/25/2022
author: pkulikov
diff --git a/docs/csharp/language-reference/operators/await.md b/docs/csharp/language-reference/operators/await.md
index 853d7fd9cd695..5e176cddb1ca1 100644
--- a/docs/csharp/language-reference/operators/await.md
+++ b/docs/csharp/language-reference/operators/await.md
@@ -1,5 +1,5 @@
---
-title: "await operator - asynchronously wait for a task to complete "
+title: "await operator - asynchronously wait for a task to complete"
description: "The C# `await` operator asynchronously suspends evaluation of the enclosing `async` method."
ms.date: 11/29/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/operators/index.md b/docs/csharp/language-reference/operators/index.md
index dfa87bee28902..b4f36f0695dfc 100644
--- a/docs/csharp/language-reference/operators/index.md
+++ b/docs/csharp/language-reference/operators/index.md
@@ -1,5 +1,5 @@
---
-title: "C# operators and expressions - List all C# operators and expression"
+title: "Operators and expressions - List all operators and expression"
description: "Learn the C# operators and expressions, operator precedence, and operator associativity."
ms.date: 11/28/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/operators/lambda-operator.md b/docs/csharp/language-reference/operators/lambda-operator.md
index 78ce35eb7bcd2..e32081e7a99aa 100644
--- a/docs/csharp/language-reference/operators/lambda-operator.md
+++ b/docs/csharp/language-reference/operators/lambda-operator.md
@@ -1,5 +1,5 @@
---
-title: "The lambda operator - The `=>` operator is used to define a lambda expression in C#"
+title: "The lambda operator - The `=>` operator is used to define a lambda expression"
description: "The C# => operator defines lambda expressions and expression bodied members. Lambda expressions define a block of code used as data."
ms.date: 11/28/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/operators/null-forgiving.md b/docs/csharp/language-reference/operators/null-forgiving.md
index 4861fb309efea..598e6fade3456 100644
--- a/docs/csharp/language-reference/operators/null-forgiving.md
+++ b/docs/csharp/language-reference/operators/null-forgiving.md
@@ -1,5 +1,5 @@
---
-title: "! (null-forgiving) operator - C# reference"
+title: "! (null-forgiving) operator"
description: "Learn about the C# null-forgiving, or null-suppression, operator that is used to declare that an expression of a reference type isn't null."
ms.date: 11/28/2022
f1_keywords:
diff --git a/docs/csharp/language-reference/preprocessor-directives.md b/docs/csharp/language-reference/preprocessor-directives.md
index 12c31e8968b5e..ecda658827033 100644
--- a/docs/csharp/language-reference/preprocessor-directives.md
+++ b/docs/csharp/language-reference/preprocessor-directives.md
@@ -1,6 +1,6 @@
---
description: "Learn the different C# preprocessor directives that control conditional compilation, warnings, nullable analysis, and more"
-title: "C# preprocessor directives"
+title: "Preprocessor directives"
ms.date: 01/30/2023
f1_keywords:
- "cs.preprocessor"
diff --git a/docs/csharp/language-reference/tokens/comments.md b/docs/csharp/language-reference/tokens/comments.md
index cfced540c1936..11247c99acfa1 100644
--- a/docs/csharp/language-reference/tokens/comments.md
+++ b/docs/csharp/language-reference/tokens/comments.md
@@ -1,5 +1,5 @@
---
-title: "// and /* */ - comments in C#"
+title: "// and /* */ - comments"
description: You use \"//\" for single-line comments. You use \"/*\" to start multi-line comments that end with \"*/\". You add comments to explain your code.
ms.date: 12/12/2022
---
diff --git a/docs/csharp/language-reference/tokens/index.md b/docs/csharp/language-reference/tokens/index.md
index fe9b812842f18..f85dc15a5abc4 100644
--- a/docs/csharp/language-reference/tokens/index.md
+++ b/docs/csharp/language-reference/tokens/index.md
@@ -1,6 +1,6 @@
---
description: "Special Characters - C# Reference"
-title: "Special Characters - C# Reference"
+title: "Special Characters"
ms.date: 02/14/2017
f1_keywords:
- "cs.special characters"
diff --git a/docs/csharp/linq/get-started/features-that-support-linq.md b/docs/csharp/linq/get-started/features-that-support-linq.md
index 87a572e4af696..8761fcc66e4e8 100644
--- a/docs/csharp/linq/get-started/features-that-support-linq.md
+++ b/docs/csharp/linq/get-started/features-that-support-linq.md
@@ -1,5 +1,5 @@
---
-title: "C# Features That Support LINQ"
+title: "Language Features That Support LINQ"
description: Learn about C# features to use with LINQ queries and in other contexts.
ms.date: 04/22/2024
helpviewer_keywords:
diff --git a/docs/csharp/linq/get-started/introduction-to-linq-queries.md b/docs/csharp/linq/get-started/introduction-to-linq-queries.md
index 95877d94d3aac..be65ba32fa1ae 100644
--- a/docs/csharp/linq/get-started/introduction-to-linq-queries.md
+++ b/docs/csharp/linq/get-started/introduction-to-linq-queries.md
@@ -1,5 +1,5 @@
---
-title: "Introduction to LINQ Queries (C#)"
+title: "Introduction to LINQ Queries"
description: LINQ offers a consistent model for queries on data across various kinds of data sources and formats. In a LINQ query, you're always working with objects.
ms.date: 04/22/2024
helpviewer_keywords:
diff --git a/docs/csharp/linq/get-started/query-expression-basics.md b/docs/csharp/linq/get-started/query-expression-basics.md
index 5067455092c7a..bc32690523a9a 100644
--- a/docs/csharp/linq/get-started/query-expression-basics.md
+++ b/docs/csharp/linq/get-started/query-expression-basics.md
@@ -1,5 +1,5 @@
---
-title: Query expression basics (LINQ in C#)
+title: Query expression basics (LINQ)
description: Introduces concepts related to query expressions
ms.date: 03/06/2024
---
diff --git a/docs/csharp/linq/get-started/type-relationships-in-linq-query-operations.md b/docs/csharp/linq/get-started/type-relationships-in-linq-query-operations.md
index 0df891660dc5e..91284acfac883 100644
--- a/docs/csharp/linq/get-started/type-relationships-in-linq-query-operations.md
+++ b/docs/csharp/linq/get-started/type-relationships-in-linq-query-operations.md
@@ -1,5 +1,5 @@
---
-title: "Type Relationships in LINQ Query Operations (C#)"
+title: "Type Relationships in LINQ Query Operations"
description: Learn how types of variables in a LINQ query relate to each other. LINQ query operations are strongly typed in the data source, in the query, and in execution.
ms.date: 12/13/2023
helpviewer_keywords:
diff --git a/docs/csharp/linq/get-started/walkthrough-writing-queries-linq.md b/docs/csharp/linq/get-started/walkthrough-writing-queries-linq.md
index e7e92cb2ce379..e8fcec87a2758 100644
--- a/docs/csharp/linq/get-started/walkthrough-writing-queries-linq.md
+++ b/docs/csharp/linq/get-started/walkthrough-writing-queries-linq.md
@@ -1,5 +1,5 @@
---
-title: "Tutorial: Writing LINQ Queries in C#"
+title: "Tutorial: Writing LINQ Queries"
description: This walkthrough shows how C# language features are used in LINQ query expressions.
ms.date: 04/22/2024
ms.topic: tutorial
diff --git a/docs/csharp/linq/get-started/write-linq-queries.md b/docs/csharp/linq/get-started/write-linq-queries.md
index ac0a9376e19cb..8b61e77159f43 100644
--- a/docs/csharp/linq/get-started/write-linq-queries.md
+++ b/docs/csharp/linq/get-started/write-linq-queries.md
@@ -1,5 +1,5 @@
---
-title: Use C# to write LINQ queries
+title: Write LINQ queries
description: Learn how to write LINQ queries in C#.
ms.date: 04/19/2024
---
diff --git a/docs/csharp/linq/index.md b/docs/csharp/linq/index.md
index 59eb7c217289d..d4b2015d4def1 100644
--- a/docs/csharp/linq/index.md
+++ b/docs/csharp/linq/index.md
@@ -1,5 +1,5 @@
---
-title: Language Integrated Query (LINQ) in C#
+title: Language Integrated Query (LINQ)
description: Introduces Language Integrated Query (LINQ) in C#.
ms.topic: conceptual
ms.date: 12/14/2023
diff --git a/docs/csharp/linq/standard-query-operators/converting-data-types.md b/docs/csharp/linq/standard-query-operators/converting-data-types.md
index 4d0fd01d9ade4..d6ce5d834ddd8 100644
--- a/docs/csharp/linq/standard-query-operators/converting-data-types.md
+++ b/docs/csharp/linq/standard-query-operators/converting-data-types.md
@@ -1,5 +1,5 @@
---
-title: "Converting Data Types (C#)"
+title: "Converting Data Types"
description: Conversion methods change the type of input objects. See conversion operations in LINQ queries in C#, such as Enumerable.AsEnumerable and Enumerable.OfType.
ms.date: 02/14/2024
---
diff --git a/docs/csharp/linq/standard-query-operators/grouping-data.md b/docs/csharp/linq/standard-query-operators/grouping-data.md
index 489b4db7a581c..d457ae1d656b7 100644
--- a/docs/csharp/linq/standard-query-operators/grouping-data.md
+++ b/docs/csharp/linq/standard-query-operators/grouping-data.md
@@ -1,5 +1,5 @@
---
-title: "Grouping Data (C#)"
+title: "Grouping Data"
description: Grouping puts data into groups of elements that share an attribute. Learn about the standard query operator methods in LINQ in C# that group data elements.
ms.date: 02/16/2024
---
diff --git a/docs/csharp/linq/standard-query-operators/index.md b/docs/csharp/linq/standard-query-operators/index.md
index 7591b94a7ac2b..341c5858a1929 100644
--- a/docs/csharp/linq/standard-query-operators/index.md
+++ b/docs/csharp/linq/standard-query-operators/index.md
@@ -1,5 +1,5 @@
---
-title: "Standard Query Operators Overview (C#)"
+title: "Standard Query Operators Overview"
description: The LINQ standard query operators provide query capabilities including filtering, projection, aggregation, and sorting in C#.
ms.date: 02/16/2024
---
diff --git a/docs/csharp/linq/standard-query-operators/join-operations.md b/docs/csharp/linq/standard-query-operators/join-operations.md
index 1dd4d0c25f19c..e82c1cd69ee84 100644
--- a/docs/csharp/linq/standard-query-operators/join-operations.md
+++ b/docs/csharp/linq/standard-query-operators/join-operations.md
@@ -1,5 +1,5 @@
---
-title: "Join Operations (C#)"
+title: "Join Operations"
description: A join of two data sources associates objects with objects that share an attribute across data sources. Learn about join methods in the LINQ framework in C#.
ms.date: 02/16/2024
no-loc: [Join, GroupJoin]
diff --git a/docs/csharp/linq/standard-query-operators/partitioning-data.md b/docs/csharp/linq/standard-query-operators/partitioning-data.md
index 5e8853695c150..d197afd81cbc7 100644
--- a/docs/csharp/linq/standard-query-operators/partitioning-data.md
+++ b/docs/csharp/linq/standard-query-operators/partitioning-data.md
@@ -1,5 +1,5 @@
---
-title: "Partitioning data (C#)"
+title: "Partitioning data"
description: Learn how to partition data in LINQ. View an illustration showing the results of partitioning operations.
ms.date: 02/14/2024
---
diff --git a/docs/csharp/linq/standard-query-operators/quantifier-operations.md b/docs/csharp/linq/standard-query-operators/quantifier-operations.md
index 3fb420f4968c1..f35dcfae2b4a9 100644
--- a/docs/csharp/linq/standard-query-operators/quantifier-operations.md
+++ b/docs/csharp/linq/standard-query-operators/quantifier-operations.md
@@ -1,5 +1,5 @@
---
-title: "Quantifier Operations (C#)"
+title: "Quantifier Operations"
titleSuffix: LINQ
description: Learn about quantifier operations in LINQ. These methods, `All`, `Any`, and `Contains`, return a Boolean value indicating whether some or all elements in a sequence satisfy a condition.
ms.date: 02/14/2024
diff --git a/docs/csharp/linq/standard-query-operators/set-operations.md b/docs/csharp/linq/standard-query-operators/set-operations.md
index 79ff8c8f348d4..25290a1b9451c 100644
--- a/docs/csharp/linq/standard-query-operators/set-operations.md
+++ b/docs/csharp/linq/standard-query-operators/set-operations.md
@@ -1,5 +1,5 @@
---
-title: "Set operations (C#)"
+title: "Set operations"
description: Learn about set operations and the standard query operator methods that perform set operations in LINQ in C#.
ms.date: 01/22/2024
---
diff --git a/docs/csharp/linq/standard-query-operators/sorting-data.md b/docs/csharp/linq/standard-query-operators/sorting-data.md
index 3ee99d987841e..c96463cd43f60 100644
--- a/docs/csharp/linq/standard-query-operators/sorting-data.md
+++ b/docs/csharp/linq/standard-query-operators/sorting-data.md
@@ -1,5 +1,5 @@
---
-title: "Sorting Data (C#)"
+title: "Sorting Data"
description: Learn about sort operations and the standard query operator methods that perform sort operations in LINQ in C#.
ms.date: 01/22/2024
---
diff --git a/docs/csharp/methods.md b/docs/csharp/methods.md
index 3a40de70bd5e7..0d60937b42af3 100644
--- a/docs/csharp/methods.md
+++ b/docs/csharp/methods.md
@@ -1,5 +1,5 @@
---
-title: Methods - C# Guide
+title: Overview of methods
description: Overview of methods, method parameters, and method return values
ms.subservice: fundamentals
ms.date: 03/16/2021
diff --git a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
index 2a91ae5911893..cc85134f079a8 100644
--- a/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
+++ b/docs/csharp/misc/sorry-we-don-t-have-specifics-on-this-csharp-error.md
@@ -1,5 +1,5 @@
---
-title: "Sorry, we don't have specifics on this C# error"
+title: "Sorry, we don't have specifics on this error"
description: "List of possible resources for compiler errors and warnings that haven't been documented yet."
ms.date: 12/18/2023
f1_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members.md b/docs/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members.md
index e1076acd482e8..b59d3a5dac303 100644
--- a/docs/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members.md
+++ b/docs/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members.md
@@ -1,5 +1,5 @@
---
-title: "Abstract and Sealed Classes and Class Members - C# Programming Guide"
+title: "Abstract and Sealed Classes and Class Members"
description: The abstract keyword in C# creates incomplete classes and class members. The sealed keyword prevents inheritance of previously virtual classes or class members.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/access-modifiers.md b/docs/csharp/programming-guide/classes-and-structs/access-modifiers.md
index 6d4a3c72d93a3..5543714e1a752 100644
--- a/docs/csharp/programming-guide/classes-and-structs/access-modifiers.md
+++ b/docs/csharp/programming-guide/classes-and-structs/access-modifiers.md
@@ -1,5 +1,5 @@
---
-title: "Access Modifiers - C# Programming Guide"
+title: "Access Modifiers"
description: All types and type members in C# have an accessibility level that controls whether they can be used from other code. Review this list of access modifiers.
ms.date: 04/11/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md b/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md
index b9ef4258f6265..feba559b1ff1e 100644
--- a/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/auto-implemented-properties.md
@@ -1,5 +1,5 @@
---
-title: "Auto-Implemented Properties - C# Programming Guide"
+title: "Auto-Implemented Properties"
description: For an auto-implemented property in C#, the compiler creates a private, anonymous backing field accessed only through get and set accessors of the property.
ms.date: 07/29/2022
f1_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/constants.md b/docs/csharp/programming-guide/classes-and-structs/constants.md
index 6feb93cbcdb99..581d597c9d84d 100644
--- a/docs/csharp/programming-guide/classes-and-structs/constants.md
+++ b/docs/csharp/programming-guide/classes-and-structs/constants.md
@@ -1,5 +1,5 @@
---
-title: "Constants - C# Programming Guide"
+title: "Constants"
description: Constants in C# are compile-time literal values, which do not change once the program is compiled. Only C# built-in types can be constants.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/constructors.md b/docs/csharp/programming-guide/classes-and-structs/constructors.md
index 20e9f616fc899..fa089538c295f 100644
--- a/docs/csharp/programming-guide/classes-and-structs/constructors.md
+++ b/docs/csharp/programming-guide/classes-and-structs/constructors.md
@@ -1,5 +1,5 @@
---
-title: "Constructors - C# programming guide"
+title: "Constructors"
description: A constructor in C# is called when a class or struct is created. Use constructors to set defaults, limit instantiation, and write flexible, easy-to-read code.
ms.date: 04/06/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
index 2fd7e9982c345..d5338ed5e23fe 100644
--- a/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
+++ b/docs/csharp/programming-guide/classes-and-structs/extension-methods.md
@@ -1,5 +1,5 @@
---
-title: "Extension Methods - C# Programming Guide"
+title: "Extension Methods"
description: Extension methods in C# enable you to add methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/fields.md b/docs/csharp/programming-guide/classes-and-structs/fields.md
index 771801b5bd390..f7ecb8b631b6d 100644
--- a/docs/csharp/programming-guide/classes-and-structs/fields.md
+++ b/docs/csharp/programming-guide/classes-and-structs/fields.md
@@ -1,5 +1,5 @@
---
-title: Fields - C# Programming Guide
+title: Fields
description: A field in C# is a variable of any type that is declared directly in a class or struct. Fields are members of their containing type.
ms.date: 05/25/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/finalizers.md b/docs/csharp/programming-guide/classes-and-structs/finalizers.md
index a73b2244252dd..e1bfb205f8262 100644
--- a/docs/csharp/programming-guide/classes-and-structs/finalizers.md
+++ b/docs/csharp/programming-guide/classes-and-structs/finalizers.md
@@ -1,5 +1,5 @@
---
-title: "Finalizers - C# Programming Guide"
+title: "Finalizers"
description: Finalizers in C# perform any necessary final clean-up when a class instance is being collected by the garbage collector.
ms.date: 08/20/2021
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-create-a-new-method-for-an-enumeration.md b/docs/csharp/programming-guide/classes-and-structs/how-to-create-a-new-method-for-an-enumeration.md
index 039c171ee00d5..fbb3ff48cfa61 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-create-a-new-method-for-an-enumeration.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-create-a-new-method-for-an-enumeration.md
@@ -1,5 +1,5 @@
---
-title: "How to create a new method for an enumeration - C# Programming Guide"
+title: "How to create a new method for an enumeration"
description: Learn how to use extension methods to add functionality to an enum in C#. This example shows an extension method called Passing for an enum called Grades.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-declare-and-use-read-write-properties.md b/docs/csharp/programming-guide/classes-and-structs/how-to-declare-and-use-read-write-properties.md
index 03bec2dcd566e..54d28d6f5d3d9 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-declare-and-use-read-write-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-declare-and-use-read-write-properties.md
@@ -1,5 +1,5 @@
---
-title: "How to declare and use read write properties - C# Programming Guide"
+title: "How to declare and use read write properties"
description: Learn how to use read/write properties in C#. This sample includes two properties, each of which has get and set accessors, so the properties are read/write.
ms.date: 07/29/2022
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-define-abstract-properties.md b/docs/csharp/programming-guide/classes-and-structs/how-to-define-abstract-properties.md
index d452aaa7a66eb..d4431eb0bcb15 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-define-abstract-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-define-abstract-properties.md
@@ -1,5 +1,5 @@
---
-title: "How to define abstract properties - C# Programming Guide"
+title: "How to define abstract properties"
description: Learn how to define abstract properties in C#. Declaring an abstract property means that a class supports a property. The derived classes implement accessors.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-define-constants.md b/docs/csharp/programming-guide/classes-and-structs/how-to-define-constants.md
index 28c9263df14cd..2eb2e0957bb6d 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-define-constants.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-define-constants.md
@@ -1,5 +1,5 @@
---
-title: "How to define constants in C#"
+title: "How to define constants"
description: Learn how to define constants in C#, which are fields whose values are set at compile time. Use constants to provide meaningful names for special values.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-implement-a-lightweight-class-with-auto-implemented-properties.md b/docs/csharp/programming-guide/classes-and-structs/how-to-implement-a-lightweight-class-with-auto-implemented-properties.md
index 3e935934f0dd1..5d6a6d2de46fd 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-implement-a-lightweight-class-with-auto-implemented-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-implement-a-lightweight-class-with-auto-implemented-properties.md
@@ -1,5 +1,5 @@
---
-title: "How to implement a lightweight class with auto-implemented properties - C# Programming Guide"
+title: "How to implement a lightweight class with auto-implemented properties"
description: Learn how to create an immutable lightweight class in C# that encapsulates auto-implemented properties. There are two implementation approaches.
ms.date: 07/29/2022
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method.md b/docs/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method.md
index 67c9f4f68c2bb..78a214a868496 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method.md
@@ -1,5 +1,5 @@
---
-title: "How to implement and call a custom extension method - C# Programming Guide"
+title: "How to implement and call a custom extension method"
description: Learn how to implement extension methods for any .NET type. Client code can use your methods by adding a reference to a DLL and adding a using directive.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-a-dictionary-with-a-collection-initializer.md b/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-a-dictionary-with-a-collection-initializer.md
index 3a2a8aa13e375..dbcfff99c192d 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-a-dictionary-with-a-collection-initializer.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-a-dictionary-with-a-collection-initializer.md
@@ -1,5 +1,5 @@
---
-title: "How to initialize a dictionary with a collection initializer - C# Programming Guide"
+title: "How to initialize a dictionary with a collection initializer"
description: Learn how to initialize a dictionary in C#, using either the Add method or an index initializer. This example shows both options.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer.md b/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer.md
index 7969cf0adaad9..0f4cdc8252bd1 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer.md
@@ -1,5 +1,5 @@
---
-title: "How to initialize objects by using an object initializer - C# Programming Guide"
+title: "How to initialize objects by using an object initializer"
description: Learn how to use object initializers to initialize type objects in C# without invoking a constructor. Use an object initializer to define an anonymous type.
ms.date: 12/20/2018
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method.md b/docs/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method.md
index 18c1d98edbd4b..2510529213629 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-override-the-tostring-method.md
@@ -1,5 +1,5 @@
---
-title: "How to override the ToString method - C# Programming Guide"
+title: "How to override the ToString method"
description: Learn how to override the ToString method in C#. Every class or struct inherits Object and gets ToString, which returns a string representation of that object.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-return-subsets-of-element-properties-in-a-query.md b/docs/csharp/programming-guide/classes-and-structs/how-to-return-subsets-of-element-properties-in-a-query.md
index 69c46958f7abf..79c1e30a9c5fe 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-return-subsets-of-element-properties-in-a-query.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-return-subsets-of-element-properties-in-a-query.md
@@ -1,5 +1,5 @@
---
-title: "How to return subsets of element properties in a query - C# Programming Guide"
+title: "How to return subsets of element properties in a query"
description: Learn how to use an anonymous type in a query expression in C# to return some of the properties of each source element.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-use-implicitly-typed-local-variables-and-arrays-in-a-query-expression.md b/docs/csharp/programming-guide/classes-and-structs/how-to-use-implicitly-typed-local-variables-and-arrays-in-a-query-expression.md
index e2be880da9061..c0d8aff8908d1 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-use-implicitly-typed-local-variables-and-arrays-in-a-query-expression.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-use-implicitly-typed-local-variables-and-arrays-in-a-query-expression.md
@@ -1,5 +1,5 @@
---
-title: "How to use implicitly typed local variables and arrays in a query expression - C# Programming Guide"
+title: "How to use implicitly typed local variables and arrays in a query expression"
description: Use implicitly typed local variables in C# to have the compiler determine the type of a local variable. You must use them to store anonymous types.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/how-to-write-a-copy-constructor.md b/docs/csharp/programming-guide/classes-and-structs/how-to-write-a-copy-constructor.md
index bd26f57915771..24532f0c02a23 100644
--- a/docs/csharp/programming-guide/classes-and-structs/how-to-write-a-copy-constructor.md
+++ b/docs/csharp/programming-guide/classes-and-structs/how-to-write-a-copy-constructor.md
@@ -1,5 +1,5 @@
---
-title: "How to write a copy constructor - C# Programming Guide"
+title: "How to write a copy constructor"
description: Learn how to write a copy constructor in C# that takes an instance of class and returns a new instance with the values of the input.
ms.date: 05/24/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/implicitly-typed-local-variables.md b/docs/csharp/programming-guide/classes-and-structs/implicitly-typed-local-variables.md
index 01fd7f38473fb..ddce26f1c4b45 100644
--- a/docs/csharp/programming-guide/classes-and-structs/implicitly-typed-local-variables.md
+++ b/docs/csharp/programming-guide/classes-and-structs/implicitly-typed-local-variables.md
@@ -1,5 +1,5 @@
---
-title: "Implicitly typed local variables - C# Programming Guide"
+title: "Implicitly typed local variables"
description: The var keyword in C# instructs the compiler to infer the type of the variable from the expression on the right side of the initialization statement.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/interface-properties.md b/docs/csharp/programming-guide/classes-and-structs/interface-properties.md
index 52749e574f918..91c6d6dbf735b 100644
--- a/docs/csharp/programming-guide/classes-and-structs/interface-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/interface-properties.md
@@ -1,5 +1,5 @@
---
-title: "Interface Properties - C# Programming Guide"
+title: "Interface Properties"
description: Properties can be declared on an interface in C#. This example declares an interface property accessor.
ms.date: 07/29/2022
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md b/docs/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md
index 8ae2aa0f4a2e8..b52cd0f8a3e32 100644
--- a/docs/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md
+++ b/docs/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords.md
@@ -1,5 +1,5 @@
---
-title: "Knowing When to Use Override and New Keywords - C# Programming Guide"
+title: "Knowing When to Use Override and New Keywords"
description: Use the new and override keywords in C# to specify how methods with the same name in a base and derived class interact.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/local-functions.md b/docs/csharp/programming-guide/classes-and-structs/local-functions.md
index 500280436ef85..37f1f33d848a0 100644
--- a/docs/csharp/programming-guide/classes-and-structs/local-functions.md
+++ b/docs/csharp/programming-guide/classes-and-structs/local-functions.md
@@ -1,5 +1,5 @@
---
-title: "Local functions - C# Programming Guide"
+title: "Local functions"
description: Local functions in C# are private methods that are nested in another member and can be called from their containing member.
ms.date: 10/16/2020
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/members.md b/docs/csharp/programming-guide/classes-and-structs/members.md
index cc2318705b9b7..22e3f09fee178 100644
--- a/docs/csharp/programming-guide/classes-and-structs/members.md
+++ b/docs/csharp/programming-guide/classes-and-structs/members.md
@@ -1,5 +1,5 @@
---
-title: "Members - C# Programming Guide"
+title: "Members"
description: Classes and structs in C# have members that represent data and behavior, including members declared in the class and declared in its inheritance hierarchy.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/methods.md b/docs/csharp/programming-guide/classes-and-structs/methods.md
index c2ea01e4a13b5..830eb0387b251 100644
--- a/docs/csharp/programming-guide/classes-and-structs/methods.md
+++ b/docs/csharp/programming-guide/classes-and-structs/methods.md
@@ -1,5 +1,5 @@
---
-title: "Methods - C# Programming Guide"
+title: "Methods"
description: A method in C# is a code block that contains a series of statements. A program runs the statements by calling the method and specifying arguments.
ms.date: 03/08/2021
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/named-and-optional-arguments.md b/docs/csharp/programming-guide/classes-and-structs/named-and-optional-arguments.md
index acf6dbd9c4655..2dbc982c2d842 100644
--- a/docs/csharp/programming-guide/classes-and-structs/named-and-optional-arguments.md
+++ b/docs/csharp/programming-guide/classes-and-structs/named-and-optional-arguments.md
@@ -1,5 +1,5 @@
---
-title: "Named and Optional Arguments - C# Programming Guide"
+title: "Named and Optional Arguments"
description: Named arguments in C# specify arguments by name, not position. Optional arguments can be omitted.
ms.date: 03/14/2024
f1_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/nested-types.md b/docs/csharp/programming-guide/classes-and-structs/nested-types.md
index a4f7fec76ff07..d1cf12ac1d417 100644
--- a/docs/csharp/programming-guide/classes-and-structs/nested-types.md
+++ b/docs/csharp/programming-guide/classes-and-structs/nested-types.md
@@ -1,5 +1,5 @@
---
-title: "Nested Types - C# Programming Guide"
+title: "Nested Types"
description: A type defined within a class, struct, or interface is called a nested type in C#.
ms.date: 02/08/2020
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/object-and-collection-initializers.md b/docs/csharp/programming-guide/classes-and-structs/object-and-collection-initializers.md
index 7b557a2e2e713..29d01355ad405 100644
--- a/docs/csharp/programming-guide/classes-and-structs/object-and-collection-initializers.md
+++ b/docs/csharp/programming-guide/classes-and-structs/object-and-collection-initializers.md
@@ -1,5 +1,5 @@
---
-title: "Object and Collection Initializers - C# Programming Guide"
+title: "Object and Collection Initializers"
description: Object initializers in C# assign values to accessible fields or properties of an object at creation after invoking a constructor.
ms.date: 12/19/2018
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md b/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md
index 6e1cdb854db6b..455a668efcd90 100644
--- a/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md
+++ b/docs/csharp/programming-guide/classes-and-structs/partial-classes-and-methods.md
@@ -1,5 +1,5 @@
---
-title: "Partial Classes and Methods - C# Programming Guide"
+title: "Partial Classes and Methods"
description: Partial classes and methods in C# split the definition of a class, a struct, an interface, or a method over two or more source files.
ms.date: 03/12/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/private-constructors.md b/docs/csharp/programming-guide/classes-and-structs/private-constructors.md
index 0d914805b0c90..4a022bdddaa0f 100644
--- a/docs/csharp/programming-guide/classes-and-structs/private-constructors.md
+++ b/docs/csharp/programming-guide/classes-and-structs/private-constructors.md
@@ -1,5 +1,5 @@
---
-title: "Private Constructors - C# Programming Guide"
+title: "Private Constructors"
description: A private constructor is a special instance constructor in C# used to restrict how an object can be created. They may be used with factory methods or other construction idioms.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/properties.md b/docs/csharp/programming-guide/classes-and-structs/properties.md
index 90b46b48288e6..420f856bbdd58 100644
--- a/docs/csharp/programming-guide/classes-and-structs/properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/properties.md
@@ -1,5 +1,5 @@
---
-title: "Properties - C# Programming Guide"
+title: "Properties"
description: A property in C# is a member that uses accessor methods to read, write, or compute the value of a private field as if it were a public data member.
ms.date: 03/15/2024
f1_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility.md b/docs/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility.md
index 309ddaef6e123..5cb902b128f56 100644
--- a/docs/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility.md
+++ b/docs/csharp/programming-guide/classes-and-structs/restricting-accessor-accessibility.md
@@ -1,5 +1,5 @@
---
-title: "Restricting Accessor Accessibility - C# Programming Guide"
+title: "Restricting Accessor Accessibility"
description: The get and set accessors of a property in C# have the same visibility or access level by default as property to which they belong. You can restrict access.
ms.date: 07/29/2022
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md b/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md
index d650dffa2bd94..a23fbbb92f42b 100644
--- a/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md
+++ b/docs/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members.md
@@ -1,5 +1,5 @@
---
-title: "Static Classes and Static Class Members - C# Programming Guide"
+title: "Static Classes and Static Class Members"
description: Static classes can't be instantiated in C#. You access the members of a static class by using the class name itself.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/static-constructors.md b/docs/csharp/programming-guide/classes-and-structs/static-constructors.md
index 0832a69174aaa..adde11fb6f75e 100644
--- a/docs/csharp/programming-guide/classes-and-structs/static-constructors.md
+++ b/docs/csharp/programming-guide/classes-and-structs/static-constructors.md
@@ -1,5 +1,5 @@
---
-title: "Static Constructors - C# Programming Guide"
+title: "Static Constructors"
description: A static constructor in C# initializes static data or performs an action done only once. It runs before the first instance is created or static members are referenced.
ms.date: 10/24/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/using-constructors.md b/docs/csharp/programming-guide/classes-and-structs/using-constructors.md
index 04b061ea44333..61ba03ee5a616 100644
--- a/docs/csharp/programming-guide/classes-and-structs/using-constructors.md
+++ b/docs/csharp/programming-guide/classes-and-structs/using-constructors.md
@@ -1,5 +1,5 @@
---
-title: "Using Constructors - C# Programming Guide"
+title: "Using Constructors"
description: This example shows how a class is instantiated by using the new operator in C#. The simple constructor is invoked after memory is allocated for the new object.
ms.date: 05/25/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/using-properties.md b/docs/csharp/programming-guide/classes-and-structs/using-properties.md
index b9e7d40b3b975..46e7b457e279e 100644
--- a/docs/csharp/programming-guide/classes-and-structs/using-properties.md
+++ b/docs/csharp/programming-guide/classes-and-structs/using-properties.md
@@ -1,5 +1,5 @@
---
-title: "Using Properties - C# Programming Guide"
+title: "Using Properties"
description: These examples illustrate using properties in C#. See how the get and set accessors implement read and write access and find out about uses for properties.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/classes-and-structs/versioning-with-the-override-and-new-keywords.md b/docs/csharp/programming-guide/classes-and-structs/versioning-with-the-override-and-new-keywords.md
index 49c8fd702dd0a..817ebc1db6d4d 100644
--- a/docs/csharp/programming-guide/classes-and-structs/versioning-with-the-override-and-new-keywords.md
+++ b/docs/csharp/programming-guide/classes-and-structs/versioning-with-the-override-and-new-keywords.md
@@ -1,5 +1,5 @@
---
-title: "Versioning with the Override and New Keywords - C# Programming Guide"
+title: "Versioning with the Override and New Keywords"
description: Learn about versioning for base and derived classes in C#, and how to specify whether a method is intended to override or hide an inherited method.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces.md
index a6deb8902c9d8..76c31b2d44043 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/creating-variant-generic-interfaces.md
@@ -1,5 +1,5 @@
---
-title: "Creating Variant Generic Interfaces (C#)"
+title: "Creating Variant Generic Interfaces"
description: Learn how to create variant generic interfaces with covariant or contravariant generic type parameters.
ms.date: 07/20/2015
ms.assetid: 30330ec4-9df2-4838-a535-6c406d0ed4df
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/index.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/index.md
index 67cf890a2f7b1..7c2cc0e91d84b 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/index.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/index.md
@@ -1,5 +1,5 @@
---
-title: "Covariance and Contravariance (C#)"
+title: "Covariance and Contravariance"
description: Learn about covariance and contravariance and how they affect assignment compatibility. See a code example that demonstrates the differences between them.
ms.date: 07/20/2015
ms.assetid: 066d9a3c-aab7-4ea6-826d-0b1a85399c74
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-for-func-and-action-generic-delegates.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-for-func-and-action-generic-delegates.md
index 8a5d18dab7a97..0e638aced2008 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-for-func-and-action-generic-delegates.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-for-func-and-action-generic-delegates.md
@@ -1,5 +1,5 @@
---
-title: "Using Variance for Func and Action Generic Delegates (C#)"
+title: "Using Variance for Func and Action Generic Delegates"
description: Learn about using covariance and contravariance in the Func and Action generic delegates to give you more flexibility in your code.
ms.date: 07/20/2015
ms.assetid: 1826774f-2b7a-470f-b110-17cfdd6abdae
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-delegates.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-delegates.md
index f2bb329f56528..b46825554d8bb 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-delegates.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-delegates.md
@@ -1,5 +1,5 @@
---
-title: "Using Variance in Delegates (C#)"
+title: "Using Variance in Delegates"
description: Learn how to use variance in delegates using the included covariance and contravariance code examples.
ms.date: 07/20/2015
ms.assetid: 1638c95d-dc8b-40c1-972c-c2dcf84be55e
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-interfaces-for-generic-collections.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-interfaces-for-generic-collections.md
index 8b3e09c6a6b71..312c9719e4292 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-interfaces-for-generic-collections.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/using-variance-in-interfaces-for-generic-collections.md
@@ -1,5 +1,5 @@
---
-title: "Using Variance in Interfaces for Generic Collections (C#)"
+title: "Using Variance in Interfaces for Generic Collections"
description: Learn how to use covariant and contravariant interfaces for generic collections. See examples of converting and comparing generic collections.
ms.date: 07/20/2015
ms.assetid: a44f0708-10fa-4c76-82cd-daa6e6b31e8e
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-delegates.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-delegates.md
index 2d9b040b15a25..bd59c324af03e 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-delegates.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-delegates.md
@@ -1,5 +1,5 @@
---
-title: "Variance in Delegates (C#)"
+title: "Variance in Delegates"
description: Learn how the variance support in .NET allows you to match method signatures with delegate types in all delegates.
ms.date: 07/20/2015
ms.assetid: 19de89d2-8224-4406-8964-2965b732b890
diff --git a/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md b/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md
index 511c4540c429b..810356f8daef0 100644
--- a/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md
+++ b/docs/csharp/programming-guide/concepts/covariance-contravariance/variance-in-generic-interfaces.md
@@ -1,5 +1,5 @@
---
-title: "Variance in Generic Interfaces (C#)"
+title: "Variance in Generic Interfaces"
description: View variance support information for generic interfaces, including updated information for existing interfaces in .NET Framework 4 and 4.5.
ms.date: 06/06/2019
ms.assetid: 4828a8f9-48c0-4128-9749-7fcd6bf19a06
diff --git a/docs/csharp/programming-guide/concepts/index.md b/docs/csharp/programming-guide/concepts/index.md
index 5b0fbde40cd26..2d8f7f3a981d4 100644
--- a/docs/csharp/programming-guide/concepts/index.md
+++ b/docs/csharp/programming-guide/concepts/index.md
@@ -1,5 +1,5 @@
---
-title: "Programming Concepts (C#)"
+title: "Programming Concepts"
description: Use the resources in this section to understand programming concepts in the C# language, including object-oriented programming.
ms.date: 04/22/2024
---
diff --git a/docs/csharp/programming-guide/concepts/iterators.md b/docs/csharp/programming-guide/concepts/iterators.md
index aedcdc13864ad..9dd939d0a9821 100644
--- a/docs/csharp/programming-guide/concepts/iterators.md
+++ b/docs/csharp/programming-guide/concepts/iterators.md
@@ -1,5 +1,5 @@
---
-title: Iterate through collections in C#
+title: Iterate through collections
description: Learn how to use an iterator to step through collections like lists and arrays. Iterators are consumed from client code using a foreach statement or LINQ query.
ms.date: 08/14/2018
ms.assetid: c93f6dd4-e72a-4a06-be1c-a98b3255b734
diff --git a/docs/csharp/programming-guide/delegates/delegates-with-named-vs-anonymous-methods.md b/docs/csharp/programming-guide/delegates/delegates-with-named-vs-anonymous-methods.md
index 68272de0b530b..5adf6d42540aa 100644
--- a/docs/csharp/programming-guide/delegates/delegates-with-named-vs-anonymous-methods.md
+++ b/docs/csharp/programming-guide/delegates/delegates-with-named-vs-anonymous-methods.md
@@ -1,5 +1,5 @@
---
-title: "Delegates with Named vs. Anonymous Methods - C# Programming Guide"
+title: "Delegates with Named vs. Anonymous Methods"
description: Learn about delegates with named vs. anonymous methods. See code examples and view additional available resources.
ms.date: 11/08/2021
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/delegates/how-to-combine-delegates-multicast-delegates.md b/docs/csharp/programming-guide/delegates/how-to-combine-delegates-multicast-delegates.md
index d6598d8bb200b..432803f906def 100644
--- a/docs/csharp/programming-guide/delegates/how-to-combine-delegates-multicast-delegates.md
+++ b/docs/csharp/programming-guide/delegates/how-to-combine-delegates-multicast-delegates.md
@@ -1,5 +1,5 @@
---
-title: "How to combine delegates (Multicast Delegates) - C# Programming Guide"
+title: "How to combine delegates (Multicast Delegates)"
description: Learn how to combine delegates to create multicast delegates. See a code example and view additional available resources.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate.md b/docs/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate.md
index fddb116cd00e9..f03145567d163 100644
--- a/docs/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate.md
+++ b/docs/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate.md
@@ -1,5 +1,5 @@
---
-title: "How to declare, instantiate, and use a delegate - C# Programming Guide"
+title: "How to declare, instantiate, and use a delegate"
description: Learn how to declare, instantiate, and use a delegate. See examples that cover C# 1.0, 2.0, and 3.0 and later.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/delegates/index.md b/docs/csharp/programming-guide/delegates/index.md
index 783401b42633d..a975e98ad973a 100644
--- a/docs/csharp/programming-guide/delegates/index.md
+++ b/docs/csharp/programming-guide/delegates/index.md
@@ -1,5 +1,5 @@
---
-title: "Delegates - C# Programming Guide"
+title: "Delegates"
description: A delegate in C# is a type that refers to methods with a parameter list and return type. Delegates are used to pass methods as arguments to other methods.
ms.date: 02/02/2021
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/delegates/using-delegates.md b/docs/csharp/programming-guide/delegates/using-delegates.md
index 2ff4540dfa1cc..2478c04b06d9c 100644
--- a/docs/csharp/programming-guide/delegates/using-delegates.md
+++ b/docs/csharp/programming-guide/delegates/using-delegates.md
@@ -1,5 +1,5 @@
---
-title: "Using Delegates - C# Programming Guide"
+title: "Using Delegates"
description: Learn how to use delegates. Delegates are an object-oriented, type safe, and secure type that safely encapsulates a method.
ms.date: 07/31/2023
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/events/how-to-implement-custom-event-accessors.md b/docs/csharp/programming-guide/events/how-to-implement-custom-event-accessors.md
index c706a13af48ac..207ef9610382e 100644
--- a/docs/csharp/programming-guide/events/how-to-implement-custom-event-accessors.md
+++ b/docs/csharp/programming-guide/events/how-to-implement-custom-event-accessors.md
@@ -1,5 +1,5 @@
---
-title: "How to implement custom event accessors - C# Programming Guide"
+title: "How to implement custom event accessors"
description: Learn how to implement custom event accessors. See a code example and view additional available resources.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/events/how-to-implement-interface-events.md b/docs/csharp/programming-guide/events/how-to-implement-interface-events.md
index c04eeaaac7466..0561e4e77ad91 100644
--- a/docs/csharp/programming-guide/events/how-to-implement-interface-events.md
+++ b/docs/csharp/programming-guide/events/how-to-implement-interface-events.md
@@ -1,5 +1,5 @@
---
-title: "How to implement interface events - C# Programming Guide"
+title: "How to implement interface events"
description: Learn how to implement interface events in a class. See code examples and view additional available resources.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/events/how-to-publish-events-that-conform-to-net-framework-guidelines.md b/docs/csharp/programming-guide/events/how-to-publish-events-that-conform-to-net-framework-guidelines.md
index a5020cbfa4de0..0ed1d8466a619 100644
--- a/docs/csharp/programming-guide/events/how-to-publish-events-that-conform-to-net-framework-guidelines.md
+++ b/docs/csharp/programming-guide/events/how-to-publish-events-that-conform-to-net-framework-guidelines.md
@@ -1,5 +1,5 @@
---
-title: "Publish events that conform to .NET Guidelines - C# Programming Guide"
+title: "Publish events that conform to .NET Guidelines"
description: Learn how to publish events that conform to .NET guidelines. All events in the .NET class library are based on the EventHandler delegate.
ms.topic: how-to
ms.date: 05/26/2020
diff --git a/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md b/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md
index 54b5343f2e5d6..a686e936a8dce 100644
--- a/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md
+++ b/docs/csharp/programming-guide/events/how-to-raise-base-class-events-in-derived-classes.md
@@ -1,5 +1,5 @@
---
-title: "How to raise base class events in derived classes - C# Programming Guide"
+title: "How to raise base class events in derived classes"
description: Learn how to raise base class events in derived classes. See a code example and view additional available resources.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/events/how-to-subscribe-to-and-unsubscribe-from-events.md b/docs/csharp/programming-guide/events/how-to-subscribe-to-and-unsubscribe-from-events.md
index af1e84c365c3c..4fc11bf35a5e9 100644
--- a/docs/csharp/programming-guide/events/how-to-subscribe-to-and-unsubscribe-from-events.md
+++ b/docs/csharp/programming-guide/events/how-to-subscribe-to-and-unsubscribe-from-events.md
@@ -1,5 +1,5 @@
---
-title: "How to subscribe to and unsubscribe from events - C# Programming Guide"
+title: "How to subscribe to and unsubscribe from events"
description: Learn how to subscribe to and unsubscribe from events. Subscribe to events using the Visual Studio IDE, programmatically, or using an anonymous method.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/events/index.md b/docs/csharp/programming-guide/events/index.md
index a7a0dc68cc54a..53881884766b7 100644
--- a/docs/csharp/programming-guide/events/index.md
+++ b/docs/csharp/programming-guide/events/index.md
@@ -1,5 +1,5 @@
---
-title: "Events - C# Programming Guide"
+title: "Events"
description: Learn about events. Events enable a class or object to notify other classes or objects when something of interest occurs.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/constraints-on-type-parameters.md b/docs/csharp/programming-guide/generics/constraints-on-type-parameters.md
index 59f22c6c8c54e..c16624616974c 100644
--- a/docs/csharp/programming-guide/generics/constraints-on-type-parameters.md
+++ b/docs/csharp/programming-guide/generics/constraints-on-type-parameters.md
@@ -1,5 +1,5 @@
---
-title: "Constraints on type parameters - C# Programming Guide"
+title: "Constraints on type parameters"
description: Learn about constraints on type parameters. Constraints tell the compiler what capabilities a type argument must have.
ms.date: 03/11/2024
f1_keywords:
diff --git a/docs/csharp/programming-guide/generics/differences-between-cpp-templates-and-csharp-generics.md b/docs/csharp/programming-guide/generics/differences-between-cpp-templates-and-csharp-generics.md
index b24c9a1cc003f..ff17f05d4dcdc 100644
--- a/docs/csharp/programming-guide/generics/differences-between-cpp-templates-and-csharp-generics.md
+++ b/docs/csharp/programming-guide/generics/differences-between-cpp-templates-and-csharp-generics.md
@@ -1,5 +1,5 @@
---
-title: "Differences Between C++ Templates and C# Generics - C# Programming Guide"
+title: "Differences Between C++ Templates and C# Generics"
description: Learn about the differences between C++ templates and C# generics. Both are language features that provide support for parameterized types.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generic-classes.md b/docs/csharp/programming-guide/generics/generic-classes.md
index c095bf75e36cc..21bc9845a4ae4 100644
--- a/docs/csharp/programming-guide/generics/generic-classes.md
+++ b/docs/csharp/programming-guide/generics/generic-classes.md
@@ -1,5 +1,5 @@
---
-title: "Generic Classes - C# Programming Guide"
+title: "Generic Classes"
description: Learn about generic classes used in collections like linked lists, hash tables, stacks, queues, and trees.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generic-delegates.md b/docs/csharp/programming-guide/generics/generic-delegates.md
index a56a2c7347c1e..53f8f4a3cebf7 100644
--- a/docs/csharp/programming-guide/generics/generic-delegates.md
+++ b/docs/csharp/programming-guide/generics/generic-delegates.md
@@ -1,5 +1,5 @@
---
-title: "Generic Delegates - C# Programming Guide"
+title: "Generic Delegates"
description: Learn about using generic delegates in C#. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generic-interfaces.md b/docs/csharp/programming-guide/generics/generic-interfaces.md
index 13c70047b7b7e..107d1f431d582 100644
--- a/docs/csharp/programming-guide/generics/generic-interfaces.md
+++ b/docs/csharp/programming-guide/generics/generic-interfaces.md
@@ -1,5 +1,5 @@
---
-title: "Generic Interfaces - C# Programming Guide"
+title: "Generic Interfaces"
description: Learn about using generic interfaces in C#. See code examples and view other available resources.
ms.date: 07/08/2022
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generic-methods.md b/docs/csharp/programming-guide/generics/generic-methods.md
index 4ffb163d02af3..60c705e5a2fd5 100644
--- a/docs/csharp/programming-guide/generics/generic-methods.md
+++ b/docs/csharp/programming-guide/generics/generic-methods.md
@@ -1,5 +1,5 @@
---
-title: "Generic Methods - C# Programming Guide"
+title: "Generic Methods"
description: Learn about methods declared with type parameters, known as generic methods. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generic-type-parameters.md b/docs/csharp/programming-guide/generics/generic-type-parameters.md
index 552b76eac1978..abd1888a0477f 100644
--- a/docs/csharp/programming-guide/generics/generic-type-parameters.md
+++ b/docs/csharp/programming-guide/generics/generic-type-parameters.md
@@ -1,5 +1,5 @@
---
-title: "Generic Type Parameters - C# Programming Guide"
+title: "Generic Type Parameters"
description: Learn about generic type definition in C#, where a type parameter is a placeholder for a type that a client specifies for an instance of the generic type.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generics-and-arrays.md b/docs/csharp/programming-guide/generics/generics-and-arrays.md
index fa2f52f8ef8e8..fd5e5ee4ecfc2 100644
--- a/docs/csharp/programming-guide/generics/generics-and-arrays.md
+++ b/docs/csharp/programming-guide/generics/generics-and-arrays.md
@@ -1,5 +1,5 @@
---
-title: "Generics and Arrays - C# Programming Guide"
+title: "Generics and Arrays"
description: Learn about generics and arrays in C# programming. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/generics/generics-in-the-run-time.md b/docs/csharp/programming-guide/generics/generics-in-the-run-time.md
index a9e4403e77167..3ac5b6840728e 100644
--- a/docs/csharp/programming-guide/generics/generics-in-the-run-time.md
+++ b/docs/csharp/programming-guide/generics/generics-in-the-run-time.md
@@ -1,5 +1,5 @@
---
-title: "Generics in the runtime - C# Programming Guide"
+title: "Generics in the runtime"
description: Learn about generic types in the runtime. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/indexers/comparison-between-properties-and-indexers.md b/docs/csharp/programming-guide/indexers/comparison-between-properties-and-indexers.md
index e91f63eef057b..f0cb88ca3652c 100644
--- a/docs/csharp/programming-guide/indexers/comparison-between-properties-and-indexers.md
+++ b/docs/csharp/programming-guide/indexers/comparison-between-properties-and-indexers.md
@@ -1,5 +1,5 @@
---
-title: "Comparison Between Properties and Indexers - C# Programming Guide"
+title: "Comparison Between Properties and Indexers"
description: Compare how indexers in C# are like properties. Except for some differences, the rules that are defined for property accessors apply to indexer accessors.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/indexers/index.md b/docs/csharp/programming-guide/indexers/index.md
index 097ec34bdc2da..c9c69e4ca0d32 100644
--- a/docs/csharp/programming-guide/indexers/index.md
+++ b/docs/csharp/programming-guide/indexers/index.md
@@ -1,5 +1,5 @@
---
-title: "Indexers - C# Programming Guide"
+title: "Indexers"
description: Indexers in C# allow class or struct instances to be indexed like arrays. You can set or get the indexed value without specifying a type or instance member.
ms.date: 03/10/2017
f1_keywords:
diff --git a/docs/csharp/programming-guide/indexers/indexers-in-interfaces.md b/docs/csharp/programming-guide/indexers/indexers-in-interfaces.md
index 1009abf211635..836bafb003d9d 100644
--- a/docs/csharp/programming-guide/indexers/indexers-in-interfaces.md
+++ b/docs/csharp/programming-guide/indexers/indexers-in-interfaces.md
@@ -1,5 +1,5 @@
---
-title: "Indexers in Interfaces - C# Programming Guide"
+title: "Indexers in Interfaces"
description: Indexers can be declared on an interface in C#. Learn how accessors of interface indexers differ from the accessors of class indexers.
ms.date: 02/08/2020
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/indexers/using-indexers.md b/docs/csharp/programming-guide/indexers/using-indexers.md
index c7b332bc19296..039fe2c56bf4c 100644
--- a/docs/csharp/programming-guide/indexers/using-indexers.md
+++ b/docs/csharp/programming-guide/indexers/using-indexers.md
@@ -1,5 +1,5 @@
---
-title: "Using Indexers - C# Programming Guide"
+title: "Using Indexers"
description: Learn how to declare and use an indexer for a class, struct, or interface in C#. This article includes example code.
ms.date: 07/15/2020
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/interfaces/explicit-interface-implementation.md b/docs/csharp/programming-guide/interfaces/explicit-interface-implementation.md
index c4d911acd9e24..138e11207db6d 100644
--- a/docs/csharp/programming-guide/interfaces/explicit-interface-implementation.md
+++ b/docs/csharp/programming-guide/interfaces/explicit-interface-implementation.md
@@ -1,5 +1,5 @@
---
-title: "Explicit Interface Implementation - C# Programming Guide"
+title: "Explicit Interface Implementation"
description: A class can implement interfaces that contain a member with the same signature in C#. Explicit implementation creates a class member specific to one interface.
ms.date: 03/24/2021
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-interface-members.md b/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-interface-members.md
index 5f407d32ae0d0..c7c6efd033abb 100644
--- a/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-interface-members.md
+++ b/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-interface-members.md
@@ -1,5 +1,5 @@
---
-title: "How to explicitly implement interface members - C# Programming Guide"
+title: "How to explicitly implement interface members"
description: Learn how to explicitly implement interface members in this C# example. The members are accessed through the interface instance.
ms.date: 07/20/2015
ms.topic: how-to
diff --git a/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-members-of-two-interfaces.md b/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-members-of-two-interfaces.md
index f7501590dfbb0..3dd92c42a230f 100644
--- a/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-members-of-two-interfaces.md
+++ b/docs/csharp/programming-guide/interfaces/how-to-explicitly-implement-members-of-two-interfaces.md
@@ -1,5 +1,5 @@
---
-title: "How to explicitly implement members of two interfaces - C# Programming Guide"
+title: "How to explicitly implement members of two interfaces"
description: Learn how to explicitly implement two interfaces that have the same member names and give each interface member a separate implementation in this C# example.
ms.date: 07/20/2015
ms.topic: how-to
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/equality-comparisons.md b/docs/csharp/programming-guide/statements-expressions-operators/equality-comparisons.md
index 5f8278f14f6f3..ac0aba53179fc 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/equality-comparisons.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/equality-comparisons.md
@@ -1,5 +1,5 @@
---
-title: "Equality Comparisons - C# Programming Guide"
+title: "Equality Comparisons"
description: Learn about equality comparisons. See descriptions of 'value equality' and 'reference equality', and view additional resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/expression-bodied-members.md b/docs/csharp/programming-guide/statements-expressions-operators/expression-bodied-members.md
index 1fc881520a900..2c082a8de2a7c 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/expression-bodied-members.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/expression-bodied-members.md
@@ -1,5 +1,5 @@
---
-title: "Expression-bodied members - C# Programming Guide"
+title: "Expression-bodied members"
description: Learn about expression-bodied members. See code examples that use expression body definition for properties, constructors, finalizers, and more.
ms.date: 02/06/2019
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md b/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
index 6655c4facbc43..cf2143ee8b7e3 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type.md
@@ -1,5 +1,5 @@
---
-title: "How to define value equality for a class or struct - C# Programming Guide"
+title: "How to define value equality for a class or struct"
description: Learn how to define value equality for a class or struct. See code examples and view available resources.
ms.topic: how-to
ms.date: 03/26/2021
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/how-to-test-for-reference-equality-identity.md b/docs/csharp/programming-guide/statements-expressions-operators/how-to-test-for-reference-equality-identity.md
index df322b4a604b5..2bf2f052f4e9c 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/how-to-test-for-reference-equality-identity.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/how-to-test-for-reference-equality-identity.md
@@ -1,5 +1,5 @@
---
-title: "How to test for reference equality (Identity) - C# Programming Guide"
+title: "How to test for reference equality (Identity)"
description: Learn how to test for reference equality (Identity). See a code example and view additional available resources.
ms.date: 07/20/2015
ms.topic: how-to
diff --git a/docs/csharp/programming-guide/statements-expressions-operators/statements.md b/docs/csharp/programming-guide/statements-expressions-operators/statements.md
index f5ea2a419387e..f264ad71d6b0a 100644
--- a/docs/csharp/programming-guide/statements-expressions-operators/statements.md
+++ b/docs/csharp/programming-guide/statements-expressions-operators/statements.md
@@ -1,5 +1,5 @@
---
-title: "Statements - C# Programming Guide"
+title: "Statements"
description: Learn about statements in C# programming. See a list of statement types, and view code examples and additional resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/strings/how-to-determine-whether-a-string-represents-a-numeric-value.md b/docs/csharp/programming-guide/strings/how-to-determine-whether-a-string-represents-a-numeric-value.md
index d10baba698037..c4a7585858480 100644
--- a/docs/csharp/programming-guide/strings/how-to-determine-whether-a-string-represents-a-numeric-value.md
+++ b/docs/csharp/programming-guide/strings/how-to-determine-whether-a-string-represents-a-numeric-value.md
@@ -1,5 +1,5 @@
---
-title: "How to determine whether a string represents a numeric value - C# Programming Guide"
+title: "How to determine whether a string represents a numeric value"
description: Learn how to determine whether a string is a valid representation of a specified numeric type. See code examples and view additional resources.
ms.topic: how-to
ms.date: 07/20/2015
diff --git a/docs/csharp/programming-guide/strings/index.md b/docs/csharp/programming-guide/strings/index.md
index c0688b9cf33af..940575225177d 100644
--- a/docs/csharp/programming-guide/strings/index.md
+++ b/docs/csharp/programming-guide/strings/index.md
@@ -1,5 +1,5 @@
---
-title: "Strings - C# Programming Guide"
+title: "Strings"
description: Learn about strings in C# programming. See information on declaring and initializing strings, the immutability of string objects, and string escape sequences.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/types/boxing-and-unboxing.md b/docs/csharp/programming-guide/types/boxing-and-unboxing.md
index 82479651fc7a0..444cfa262d5c1 100644
--- a/docs/csharp/programming-guide/types/boxing-and-unboxing.md
+++ b/docs/csharp/programming-guide/types/boxing-and-unboxing.md
@@ -1,5 +1,5 @@
---
-title: "Boxing and Unboxing - C# Programming Guide"
+title: "Boxing and Unboxing"
description: Learn about boxing and unboxing in C# programming. See code examples and view additional available resources.
ms.date: 07/20/2015
f1_keywords:
diff --git a/docs/csharp/programming-guide/types/casting-and-type-conversions.md b/docs/csharp/programming-guide/types/casting-and-type-conversions.md
index 9195800ef49b5..003aa57d50ac0 100644
--- a/docs/csharp/programming-guide/types/casting-and-type-conversions.md
+++ b/docs/csharp/programming-guide/types/casting-and-type-conversions.md
@@ -1,5 +1,5 @@
---
-title: "Casting and type conversions - C# Programming Guide"
+title: "Casting and type conversions"
description: Learn about casting and type conversions, such as implicit, explicit (casts), and user-defined conversions.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int.md b/docs/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int.md
index 9e37d23a5b5ad..4435f0fc6a077 100644
--- a/docs/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int.md
+++ b/docs/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int.md
@@ -1,5 +1,5 @@
---
-title: "How to convert a byte array to an int - C# Programming Guide"
+title: "How to convert a byte array to an int"
description: Learn how to convert a byte array to an int. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md b/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md
index f6f17ff2d2d65..64cb91702ed2e 100644
--- a/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md
+++ b/docs/csharp/programming-guide/types/how-to-convert-a-string-to-a-number.md
@@ -1,5 +1,5 @@
---
-title: "How to convert a string to a number - C# Programming Guide"
+title: "How to convert a string to a number"
description: Learn how to convert a string to a number in C# by calling the Parse, TryParse, or Convert class methods.
ms.date: 03/15/2024
helpviewer_keywords:
diff --git a/docs/csharp/programming-guide/types/how-to-convert-between-hexadecimal-strings-and-numeric-types.md b/docs/csharp/programming-guide/types/how-to-convert-between-hexadecimal-strings-and-numeric-types.md
index 47544326e7e2c..b00d2093df930 100644
--- a/docs/csharp/programming-guide/types/how-to-convert-between-hexadecimal-strings-and-numeric-types.md
+++ b/docs/csharp/programming-guide/types/how-to-convert-between-hexadecimal-strings-and-numeric-types.md
@@ -1,5 +1,5 @@
---
-title: "How to convert between hexadecimal strings and numeric types - C# Programming Guide"
+title: "How to convert between hexadecimal strings and numeric types"
description: Learn how to convert between hexadecimal strings and numeric types. See code examples and view additional available resources.
ms.date: 07/20/2015
helpviewer_keywords:
diff --git a/docs/csharp/properties.md b/docs/csharp/properties.md
index d5f3ef1901b96..683da7d251ce2 100644
--- a/docs/csharp/properties.md
+++ b/docs/csharp/properties.md
@@ -1,5 +1,5 @@
---
-title: Properties in C#
+title: Overview of properties
description: Learn about C# properties, which include features for validation, computed values, lazy evaluation, and property changed notifications.
ms.subservice: fundamentals
ms.date: 07/20/2022
diff --git a/docs/csharp/specification/feature-spec-overview.md b/docs/csharp/specification/feature-spec-overview.md
index 126a3cc92b0a8..fc0ebd57ed092 100644
--- a/docs/csharp/specification/feature-spec-overview.md
+++ b/docs/csharp/specification/feature-spec-overview.md
@@ -1,5 +1,5 @@
---
-title: "C# feature specifications"
+title: "Feature specifications"
description: "Understand the relationships among the ECMA C# standard and the feature specifications for newer language features implemented in roslyn."
ms.date: 05/08/2024
---
diff --git a/docs/csharp/specification/index.yml b/docs/csharp/specification/index.yml
index 9de1b263b6728..5b23cbf7af280 100644
--- a/docs/csharp/specification/index.yml
+++ b/docs/csharp/specification/index.yml
@@ -1,10 +1,10 @@
### YamlMime:Landing
-title: "C# specifications"
+title: "Specifications"
summary: "Read the detailed specification for the C# language and the detailed specifications for the latest features."
metadata:
- title: "C# specifications - ECMA specification and latest features."
+ title: "Specifications - ECMA specification and latest features."
description: "Read the detailed specifications for the C# language and the latest features. The specifications are the definitive source for the behavior of the C# language."
ms.topic: landing-page # Required
ms.date: 03/12/2024
diff --git a/docs/csharp/specification/overview.md b/docs/csharp/specification/overview.md
index 6de78750b2e40..bb9e72f3204f3 100644
--- a/docs/csharp/specification/overview.md
+++ b/docs/csharp/specification/overview.md
@@ -1,5 +1,5 @@
---
-title: "C# standard specification"
+title: "Standard specification"
description: "Understand the relationships among the ECMA C# standard and the working draft."
ms.date: 05/08/2024
---
diff --git a/docs/csharp/specification/toc.yml b/docs/csharp/specification/toc.yml
index 5bf8188fe904e..3a00dfda0db8d 100644
--- a/docs/csharp/specification/toc.yml
+++ b/docs/csharp/specification/toc.yml
@@ -181,6 +181,8 @@ items:
href: ../../../_csharplang/proposals/csharp-8.0/async-streams.md
- name: Nested stackalloc
href: ../../../_csharplang/proposals/csharp-8.0/nested-stackalloc.md
+ - name: Lock object semantics
+ href: ../../../_csharplang/proposals/lock-object.md
- name: Namespaces
items:
- name: File scoped namespaces
@@ -199,6 +201,8 @@ items:
href: ../../../_csharplang/proposals/csharp-11.0/required-members.md
- name: AsyncMethodBuilder override
href: ../../../_csharplang/proposals/csharp-10.0/async-method-builders.md
+ - name: Params collections
+ href: ../../../_csharplang/proposals/params-collections.md
- name: Structs
items:
- name: Readonly instance members
diff --git a/docs/csharp/tour-of-csharp/index.yml b/docs/csharp/tour-of-csharp/index.yml
index c1343fadef6c7..f91b4f8b0fbff 100644
--- a/docs/csharp/tour-of-csharp/index.yml
+++ b/docs/csharp/tour-of-csharp/index.yml
@@ -11,7 +11,7 @@ metadata:
landingContent:
- - title: "Learn to program in C#"
+ - title: "Learn to program"
linkLists:
- linkListType: get-started
links:
@@ -38,7 +38,7 @@ landingContent:
- text: "C# on Discord"
url: https://aka.ms/csharp-discord
- - title: "C# fundamentals"
+ - title: "Fundamentals"
linkLists:
- linkListType: overview
links:
diff --git a/docs/csharp/tour-of-csharp/overview.md b/docs/csharp/tour-of-csharp/overview.md
index 7a8c8b5410ef0..3117561128e5d 100644
--- a/docs/csharp/tour-of-csharp/overview.md
+++ b/docs/csharp/tour-of-csharp/overview.md
@@ -1,5 +1,5 @@
---
-title: A tour of C# - Overview
+title: Overview
description: New to C#? Learn the basics of the language. Start with this overview.
ms.date: 04/03/2024
---
diff --git a/docs/csharp/tour-of-csharp/strategy.md b/docs/csharp/tour-of-csharp/strategy.md
index 02efff61700d1..3d7026ac18148 100644
--- a/docs/csharp/tour-of-csharp/strategy.md
+++ b/docs/csharp/tour-of-csharp/strategy.md
@@ -1,5 +1,5 @@
---
-title: C# language strategy
+title: Language strategy
description: We will keep evolving C# to meet the changing needs of developers and remain a state-of-the-art programming language. We will innovate eagerly and broadly in collaboration with C# developers
ms.date: 02/06/2023
ms.custom: UpdateFrequency5
diff --git a/docs/csharp/tour-of-csharp/tips-for-java-developers.md b/docs/csharp/tour-of-csharp/tips-for-java-developers.md
index 5d773bfc48626..ba33520129cd3 100644
--- a/docs/csharp/tour-of-csharp/tips-for-java-developers.md
+++ b/docs/csharp/tour-of-csharp/tips-for-java-developers.md
@@ -1,5 +1,5 @@
---
-title: A tour of C# - Tips for Java Developers
+title: Tips for Java Developers
description: Are you new to C#, but experienced in Java? Here's a roadmap of what's familiar, and new features to learn in C#, and features in Java that aren't in C#.
ms.date: 04/03/2024
---
diff --git a/docs/csharp/tour-of-csharp/tips-for-javascript-developers.md b/docs/csharp/tour-of-csharp/tips-for-javascript-developers.md
index 2cb91b8d00ca5..90eebae301c10 100644
--- a/docs/csharp/tour-of-csharp/tips-for-javascript-developers.md
+++ b/docs/csharp/tour-of-csharp/tips-for-javascript-developers.md
@@ -1,5 +1,5 @@
---
-title: A tour of C# - Tips for JavaScript and TypeScript Developers
+title: Tips for JavaScript and TypeScript Developers
description: "New to C#, but know JavaScript or TypeScript? Here's a roadmap of what's familiar, features in C# that aren't in JavaScript or TypeScript, and alternatives for features you use that aren't in C#"
ms.date: 04/03/2024
---
diff --git a/docs/csharp/tour-of-csharp/tips-for-python-developers.md b/docs/csharp/tour-of-csharp/tips-for-python-developers.md
index a90be965d2357..3d3ba14c0785c 100644
--- a/docs/csharp/tour-of-csharp/tips-for-python-developers.md
+++ b/docs/csharp/tour-of-csharp/tips-for-python-developers.md
@@ -1,5 +1,5 @@
---
-title: A tour of C# - Tips for Python Developers
+title: Tips for Python Developers
description: New to C#, but know Python? Here's a roadmap of what's familiar, features in C# that aren't in Python, and alternatives for Python features that aren't in C#.
ms.date: 04/03/2024
---
diff --git a/docs/csharp/tour-of-csharp/tutorials/arrays-and-collections.md b/docs/csharp/tour-of-csharp/tutorials/arrays-and-collections.md
index d6fee8240c00a..5b766b7479f61 100644
--- a/docs/csharp/tour-of-csharp/tutorials/arrays-and-collections.md
+++ b/docs/csharp/tour-of-csharp/tutorials/arrays-and-collections.md
@@ -1,5 +1,5 @@
---
-title: Work with List\ - Introduction to C# tutorial
+title: Work with List\ - Introductory tutorial
description: Learn C# by exploring the generic List collection type in this tutorial.
ms.date: 03/23/2022
---
diff --git a/docs/csharp/tour-of-csharp/tutorials/branches-and-loops-local.md b/docs/csharp/tour-of-csharp/tutorials/branches-and-loops-local.md
index b880170b6ece0..98ff5522a6905 100644
--- a/docs/csharp/tour-of-csharp/tutorials/branches-and-loops-local.md
+++ b/docs/csharp/tour-of-csharp/tutorials/branches-and-loops-local.md
@@ -1,5 +1,5 @@
---
-title: Branches and loops - Introduction to C# tutorial
+title: Branches and loops - Introductory tutorial
description: In this tutorial about branches and loops, you write C# code to explore the language syntax that supports conditional branches and loops to execute statements repeatedly.
ms.date: 03/23/2022
---
diff --git a/docs/csharp/tour-of-csharp/tutorials/branches-and-loops.yml b/docs/csharp/tour-of-csharp/tutorials/branches-and-loops.yml
index 99333ea7af2e6..ad0acc682c48d 100644
--- a/docs/csharp/tour-of-csharp/tutorials/branches-and-loops.yml
+++ b/docs/csharp/tour-of-csharp/tutorials/branches-and-loops.yml
@@ -1,7 +1,7 @@
### YamlMime:Tutorial
title: Learn conditional logic with branch and loop statements
metadata:
- title: Branches and loops - Introduction to C# interactive tutorial
+ title: Branches and loops - Introductory interactive tutorial
description: In this tutorial about branches and loops, you'll use your browser to learn C# interactively. You'll write C# code and see the results of compiling and running your code directly in the browser.
audience: Developer
level: Beginner
diff --git a/docs/csharp/tour-of-csharp/tutorials/hello-world.yml b/docs/csharp/tour-of-csharp/tutorials/hello-world.yml
index f413e7f66999d..a3eb05865822d 100644
--- a/docs/csharp/tour-of-csharp/tutorials/hello-world.yml
+++ b/docs/csharp/tour-of-csharp/tutorials/hello-world.yml
@@ -1,7 +1,7 @@
### YamlMime:Tutorial
-title: Hello World - Introduction to C# interactive C# tutorial
+title: Hello World - Introductory interactive tutorial
metadata:
- title: Hello World - Introduction to C# interactive C# tutorial
+ title: Hello World - Introductory interactive tutorial
description: In this tutorial, you'll use your browser to learn C# interactively. You write C# code and see the results of compiling and running your code directly in the browser.
audience: Developer
level: Beginner
@@ -19,7 +19,7 @@ items:
> [!TIP]
> To paste a code snippet inside the **focus mode** you should use your keyboard shortcut (Ctrl + v, or cmd + v).
-- title: Run your first C# program
+- title: Run your first program
durationInMinutes: 2
content: |
Run the following code in the interactive window. Select the **Enter focus mode** button. Then, type the following code block in the interactive window and select **Run**:
diff --git a/docs/csharp/tour-of-csharp/tutorials/index.md b/docs/csharp/tour-of-csharp/tutorials/index.md
index 04bc8fa542857..723d5228cbac3 100644
--- a/docs/csharp/tour-of-csharp/tutorials/index.md
+++ b/docs/csharp/tour-of-csharp/tutorials/index.md
@@ -1,5 +1,5 @@
---
-title: Introduction to C# - interactive tutorials
+title: Interactive tutorials
description: Learn C# in your browser, and get started with your own development environment
ms.date: 03/15/2024
ms.custom: mvc
diff --git a/docs/csharp/tour-of-csharp/tutorials/list-collection.yml b/docs/csharp/tour-of-csharp/tutorials/list-collection.yml
index 4d62662851ff4..56cc03a25031e 100644
--- a/docs/csharp/tour-of-csharp/tutorials/list-collection.yml
+++ b/docs/csharp/tour-of-csharp/tutorials/list-collection.yml
@@ -1,7 +1,7 @@
### YamlMime:Tutorial
title: Learn to manage data collections using the generic list type
metadata:
- title: Data collections - Introduction to C# interactive tutorial
+ title: Data collections - Introductory interactive tutorial
description: In this tutorial, you'll use your browser to learn C# interactively. You write C# code and see the results of compiling and running your code directly in the browser.
audience: Developer
ms.custom: mvc
diff --git a/docs/csharp/tour-of-csharp/tutorials/local-environment.md b/docs/csharp/tour-of-csharp/tutorials/local-environment.md
index 194338414dd57..7207f5e9c5bc2 100644
--- a/docs/csharp/tour-of-csharp/tutorials/local-environment.md
+++ b/docs/csharp/tour-of-csharp/tutorials/local-environment.md
@@ -1,5 +1,5 @@
---
-title: Introduction to C# - become familiar with the development tools
+title: Become familiar with the development tools
description: This article provides a basic introduction to the tools you'll use to develop C# and .NET Applications on your machine.
ms.date: 02/02/2021
---
diff --git a/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp-local.md b/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp-local.md
index 051c792dd5625..8c9f886f34ab1 100644
--- a/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp-local.md
+++ b/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp-local.md
@@ -1,5 +1,5 @@
---
-title: Numbers in C# - Introduction to C# tutorial
+title: Work with Numbers - Introductory tutorial
description: Learn C# by exploring numeric types, their uses, properties, and methods.
ms.date: 03/23/2022
---
diff --git a/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml b/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml
index b98d67cf167b2..e82aaf2deb4e5 100644
--- a/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml
+++ b/docs/csharp/tour-of-csharp/tutorials/numbers-in-csharp.yml
@@ -1,7 +1,7 @@
### YamlMime:Tutorial
-title: Manipulate integral and floating point numbers in C#
+title: Manipulate integral and floating point numbers
metadata:
- title: Numbers in C# - Introduction to C# interactive tutorial
+ title: Work with numbers - Introductory interactive tutorial
description: In this tutorial about numeric types, you'll use your browser to learn C# interactively. You're going to write C# code and see the results of compiling and running your code directly in the browser.
audience: Developer
ms.custom: mvc
diff --git a/docs/csharp/tutorials/console-webapiclient.md b/docs/csharp/tutorials/console-webapiclient.md
index cae5a4b573560..a60e4a2858cc6 100644
--- a/docs/csharp/tutorials/console-webapiclient.md
+++ b/docs/csharp/tutorials/console-webapiclient.md
@@ -1,5 +1,5 @@
---
-title: "Tutorial: Make HTTP requests in a .NET console app using C#"
+title: "Tutorial: Make HTTP requests in a .NET console app"
description: Learn how to make HTTP requests to a REST web service and deserialize JSON responses. This tutorial creates a .NET console and uses C#.
ms.date: 10/28/2022
---
diff --git a/docs/csharp/tutorials/exploration/interpolated-strings-local.md b/docs/csharp/tutorials/exploration/interpolated-strings-local.md
index c41f271ca4c67..1a6144da63f46 100644
--- a/docs/csharp/tutorials/exploration/interpolated-strings-local.md
+++ b/docs/csharp/tutorials/exploration/interpolated-strings-local.md
@@ -1,5 +1,5 @@
---
-title: String interpolation - C# tutorial
+title: String interpolation tutorial
description: This tutorial shows you how to use the C# string interpolation feature to include formatted expression results in a larger string.
ms.date: 10/23/2018
---
diff --git a/docs/csharp/tutorials/exploration/interpolated-strings.yml b/docs/csharp/tutorials/exploration/interpolated-strings.yml
index 735e94c9ec868..20f86dfece642 100644
--- a/docs/csharp/tutorials/exploration/interpolated-strings.yml
+++ b/docs/csharp/tutorials/exploration/interpolated-strings.yml
@@ -1,7 +1,7 @@
### YamlMime:Tutorial
title: Use string interpolation to construct formatted strings
metadata:
- title: String interpolation - C# interactive tutorial
+ title: String interpolation interactive tutorial
description: In this tutorial, you use your browser to explore the C# string interpolation feature interactively. You write C# code and see the results of compiling and running your code directly in the browser.
audience: Developer
ms.custom: mvc
diff --git a/docs/csharp/tutorials/records.md b/docs/csharp/tutorials/records.md
index 30639e255859c..4747bdc83dfaf 100644
--- a/docs/csharp/tutorials/records.md
+++ b/docs/csharp/tutorials/records.md
@@ -1,5 +1,5 @@
---
-title: Use record types - C# tutorial
+title: Use record types tutorial
description: Learn about how to use record types, build hierarchies of records, and when to choose records over classes.
ms.date: 11/08/2023
---
diff --git a/docs/csharp/tutorials/string-interpolation.md b/docs/csharp/tutorials/string-interpolation.md
index d45ee9ca7fa67..3acdae650080e 100644
--- a/docs/csharp/tutorials/string-interpolation.md
+++ b/docs/csharp/tutorials/string-interpolation.md
@@ -1,5 +1,5 @@
---
-title: String interpolation in C#
+title: String interpolation
description: Learn how to include formatted expression results in a result string in C# with string interpolation.
author: pkulikov
ms.subservice: fundamentals
diff --git a/docs/csharp/tutorials/top-level-statements.md b/docs/csharp/tutorials/top-level-statements.md
index 1a4d21f597a8b..140f481b92afa 100644
--- a/docs/csharp/tutorials/top-level-statements.md
+++ b/docs/csharp/tutorials/top-level-statements.md
@@ -1,5 +1,5 @@
---
-title: Top-level statements - C# tutorial
+title: Top-level statements tutorial
description: This tutorial shows how you can use top-level statements to experiment and prove concepts while exploring your ideas
ms.date: 11/14/2023
---
diff --git a/docs/csharp/versioning.md b/docs/csharp/versioning.md
index 1421c4f0f11b9..8985c516dbe5b 100644
--- a/docs/csharp/versioning.md
+++ b/docs/csharp/versioning.md
@@ -1,5 +1,5 @@
---
-title: C# Versioning - C# Guide
+title: Versioning
description: Understand how versioning works in C# and .NET
ms.date: 01/08/2017
ms.subservice: advanced-concepts
diff --git a/docs/csharp/whats-new/csharp-10.md b/docs/csharp/whats-new/csharp-10.md
index f2676a821456a..50fa7e919f691 100644
--- a/docs/csharp/whats-new/csharp-10.md
+++ b/docs/csharp/whats-new/csharp-10.md
@@ -1,5 +1,5 @@
---
-title: What's new in C# 10 - C# Guide
+title: What's new in C# 10
description: Get an overview of the new features available in C# 10.
ms.date: 11/08/2021
ms.custom: UpdateFrequency1
diff --git a/docs/csharp/whats-new/csharp-11.md b/docs/csharp/whats-new/csharp-11.md
index 3194014a1fe33..e1843803ba36d 100644
--- a/docs/csharp/whats-new/csharp-11.md
+++ b/docs/csharp/whats-new/csharp-11.md
@@ -1,5 +1,5 @@
---
-title: What's new in C# 11 - C# Guide
+title: What's new in C# 11
description: Get an overview of the new features added in C# 11.
ms.date: 03/15/2024
ms.custom: UpdateFrequency1
diff --git a/docs/csharp/whats-new/csharp-12.md b/docs/csharp/whats-new/csharp-12.md
index 25a5f2dd508ba..a64021eea478d 100644
--- a/docs/csharp/whats-new/csharp-12.md
+++ b/docs/csharp/whats-new/csharp-12.md
@@ -1,5 +1,5 @@
---
-title: What's new in C# 12 - C# Guide
+title: What's new in C# 12
description: Get an overview of the new features in C# 12.
ms.date: 03/19/2024
ms.topic: whats-new
diff --git a/docs/csharp/whats-new/csharp-13.md b/docs/csharp/whats-new/csharp-13.md
index a8d3007a1432f..cb53e94cc6b46 100644
--- a/docs/csharp/whats-new/csharp-13.md
+++ b/docs/csharp/whats-new/csharp-13.md
@@ -1,5 +1,5 @@
---
-title: What's new in C# 13 - C# Guide
+title: What's new in C# 13
description: Get an overview of the new features in C# 13. Follow the release of new preview features as .NET 9 and C# 13 previews are released.
ms.date: 05/02/2024
ms.topic: whats-new
diff --git a/docs/csharp/whats-new/csharp-version-history.md b/docs/csharp/whats-new/csharp-version-history.md
index 3cbbe8ef8e7d3..d39c390f34d2f 100644
--- a/docs/csharp/whats-new/csharp-version-history.md
+++ b/docs/csharp/whats-new/csharp-version-history.md
@@ -1,5 +1,5 @@
---
-title: The history of C# - C# Guide
+title: The history of C#
description: Learn how the C# language has changed over its many releases. Learn when different features were introduced in the language.
author: erikdietrich
ms.date: 03/06/2024
diff --git a/docs/csharp/whats-new/relationships-between-language-and-library.md b/docs/csharp/whats-new/relationships-between-language-and-library.md
index 1dfccb934d71b..b006db5390c2e 100644
--- a/docs/csharp/whats-new/relationships-between-language-and-library.md
+++ b/docs/csharp/whats-new/relationships-between-language-and-library.md
@@ -1,5 +1,5 @@
---
-title: The relationship between language features and library types | Microsoft Docs
+title: The relationship between C# language features and library types
description: Language features often rely on library types for implementation. Understand that relationship.
ms.date: 10/26/2023
---
diff --git a/docs/csharp/whats-new/tutorials/interpolated-string-handler.md b/docs/csharp/whats-new/tutorials/interpolated-string-handler.md
index be51d40cbdc6f..109f457a980db 100644
--- a/docs/csharp/whats-new/tutorials/interpolated-string-handler.md
+++ b/docs/csharp/whats-new/tutorials/interpolated-string-handler.md
@@ -1,5 +1,5 @@
---
-title: Explore string interpolation handlers
+title: Explore C# string interpolation handlers
description: This advanced tutorial shows how you can write a custom string interpolation handler that hooks into the runtime processing of an interpolated string.
ms.date: 03/24/2022
---
diff --git a/docs/csharp/whats-new/tutorials/patterns-objects.md b/docs/csharp/whats-new/tutorials/patterns-objects.md
index 0434e96453cc7..9484a71981340 100644
--- a/docs/csharp/whats-new/tutorials/patterns-objects.md
+++ b/docs/csharp/whats-new/tutorials/patterns-objects.md
@@ -1,5 +1,5 @@
---
-title: Use patterns in objects - C# tutorial
+title: Use patterns in objects C# tutorial
description: This tutorial teaches you techniques to use pattern matching in class members to create better models for object behavior
ms.date: 11/05/2020
---
diff --git a/docs/csharp/whats-new/tutorials/primary-constructors.md b/docs/csharp/whats-new/tutorials/primary-constructors.md
index 7fa5fd3185c0c..a1e819f4ffce3 100644
--- a/docs/csharp/whats-new/tutorials/primary-constructors.md
+++ b/docs/csharp/whats-new/tutorials/primary-constructors.md
@@ -1,5 +1,5 @@
---
-title: Declare and use primary constructors in classes and structs
+title: Declare and use C# primary constructors in classes and structs
description: "Learn how and when to declare primary constructors in your class and struct types. Primary constructors provide concise syntax to declare constructor parameters available anywhere in your type."
ms.date: 05/26/2023
---
diff --git a/docs/csharp/whats-new/tutorials/static-virtual-interface-members.md b/docs/csharp/whats-new/tutorials/static-virtual-interface-members.md
index ad0bb43e35d40..bcc76592bdf81 100644
--- a/docs/csharp/whats-new/tutorials/static-virtual-interface-members.md
+++ b/docs/csharp/whats-new/tutorials/static-virtual-interface-members.md
@@ -1,5 +1,5 @@
---
-title: Explore static virtual members in interfaces
+title: Explore static virtual members in C# interfaces
description: This advanced tutorial demonstrates scenarios for operators and other static members in interfaces.
ms.date: 07/08/2022
ms.subservice: advanced-concepts
diff --git a/docs/framework/install/index.md b/docs/framework/install/index.md
index f9eb8c961de3c..15b0703fa6764 100644
--- a/docs/framework/install/index.md
+++ b/docs/framework/install/index.md
@@ -1,7 +1,7 @@
---
title: .NET Framework installation guide
-description: Learn how to install the .NET Framework on Windows.
-ms.date: 10/06/2021
+description: Learn about how to install the .NET Framework on Windows, and which versions of Windows support .NET Framework.
+ms.date: 05/15/2024
---
# Installation guide
@@ -15,6 +15,7 @@ If you need to install .NET Framework 2.0 through 3.5, see [Install .NET Framewo
- [Windows 11](on-windows-11.md) (.NET Framework 4.8 included)
- [Windows Server 2022](on-server-2022.md) (.NET Framework 4.8 included)
+- [Windows Server 2019](on-server-2019.md) (.NET Framework 4.7.2 included)
- [Windows 10 and Windows Server 2016](on-windows-10.md)
- [Windows 8.1 and Windows Server 2012 R2](on-windows-8-1.md)
- [Windows 8 and Windows Server 2012](on-windows-8.md)
diff --git a/docs/framework/install/on-server-2019.md b/docs/framework/install/on-server-2019.md
new file mode 100644
index 0000000000000..7fff30c240463
--- /dev/null
+++ b/docs/framework/install/on-server-2019.md
@@ -0,0 +1,29 @@
+---
+title: Install .NET Framework on Windows Server 2019
+description: Learn how to install .NET Framework on Windows Server 2019. .NET Framework 4.7.2 is included, but .NET Framework 4.8.1 can be installed separately.
+ms.date: 05/15/2024
+---
+
+# Install .NET Framework on Windows Server 2019
+
+.NET Framework 4.7.2 is included with Server 2019, and runs any .NET Framework 4.x app.
+
+## .NET Framework 4.8.1
+
+.NET 4.8.1 is supported on Windows Server 2019.
+
+> [!div class="button"]
+> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481)
+
+## .NET Framework 3.5
+
+Follow the instructions to install [.NET Framework 3.5 on Server 2019](dotnet-35-windows.md).
+
+.NET Framework 3.5 supports apps built for .NET Framework 1.0 through 3.5.
+
+## See also
+
+- [.NET Downloads](https://dotnet.microsoft.com/download)
+- [Troubleshoot blocked .NET Framework installations and uninstallations](troubleshoot-blocked-installations-and-uninstallations.md)
+- [Install .NET Framework for developers](guide-for-developers.md)
+- [Determine which .NET Framework versions are installed](../migration-guide/how-to-determine-which-versions-are-installed.md)
diff --git a/docs/framework/install/on-server-2022.md b/docs/framework/install/on-server-2022.md
index 47196adff51c3..0918a6f0fa6c7 100644
--- a/docs/framework/install/on-server-2022.md
+++ b/docs/framework/install/on-server-2022.md
@@ -1,12 +1,20 @@
---
title: Install .NET Framework on Windows Server 2022
-description: Learn how to install .NET Framework on Windows Server 2022.
-ms.date: 08/10/2022
+description: Learn how to install .NET Framework on Windows Server 2022. .NET Framework 4.8 is included, but .NET Framework 4.8.1 can be installed separately.
+ms.date: 05/15/2024
---
+
# Install .NET Framework on Windows Server 2022
.NET Framework 4.8 is included with Server 2022, and runs any .NET Framework 4.x app.
+## .NET Framework 4.8.1
+
+.NET 4.8.1 is supported on Windows Server 2022.
+
+> [!div class="button"]
+> [Download .NET Framework 4.8.1](https://dotnet.microsoft.com/download/dotnet-framework/net481)
+
## .NET Framework 3.5
Follow the instructions to install [.NET Framework 3.5 on Server 2022](dotnet-35-windows.md).
diff --git a/docs/framework/toc.yml b/docs/framework/toc.yml
index b313b497c7399..ca1858aa2868b 100644
--- a/docs/framework/toc.yml
+++ b/docs/framework/toc.yml
@@ -21,14 +21,16 @@ items:
items:
- name: Windows 11
href: install/on-windows-11.md
- - name: Windows Server 2022
- href: install/on-server-2022.md
- name: Windows 10 and Windows Server 2016
href: install/on-windows-10.md
- name: Windows 8.1 and Windows Server 2012 R2
href: install/on-windows-8-1.md
- name: Windows 8 and Windows Server 2012
href: install/on-windows-8.md
+ - name: Windows Server 2022
+ href: install/on-server-2022.md
+ - name: Windows Server 2019
+ href: install/on-server-2019.md
- name: Repair .NET framework
href: install/repair.md
- name: Troubleshoot
diff --git a/includes/core-changes/aspnetcore/3.0/logging-debuglogger-to-internal.md b/includes/core-changes/aspnetcore/3.0/logging-debuglogger-to-internal.md
index 023c74e6d2f05..89ce9024f79c8 100644
--- a/includes/core-changes/aspnetcore/3.0/logging-debuglogger-to-internal.md
+++ b/includes/core-changes/aspnetcore/3.0/logging-debuglogger-to-internal.md
@@ -23,12 +23,4 @@ ASP.NET Core
#### Affected APIs
-
-
-
+`Microsoft.Extensions.Logging.Debug.DebugLogger`
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/CryptoWalkThru/cs/cryptowalkthru.csproj b/samples/snippets/csharp/VS_Snippets_CLR/CryptoWalkThru/cs/cryptowalkthru.csproj
index 1bdca9e5ed5c9..ac13baa12759d 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/CryptoWalkThru/cs/cryptowalkthru.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/CryptoWalkThru/cs/cryptowalkthru.csproj
@@ -8,6 +8,6 @@
4
-
+
\ No newline at end of file
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/cs/decryptxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementX509/cs/decryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementX509/cs/decryptxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementX509/cs/decryptxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToDecryptXMLElementX509/cs/decryptxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/cs/encryptxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/cs/encryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/cs/encryptxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/cs/encryptxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/cs/encryptxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToEncryptXMLElementX509/cs/encryptxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToSignXMLDocumentRSA/cs/signxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToSignXMLDocumentRSA/cs/signxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToSignXMLDocumentRSA/cs/signxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToSignXMLDocumentRSA/cs/signxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/csharp/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/cs/verifyxml.csproj b/samples/snippets/csharp/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/cs/verifyxml.csproj
index a203c49709833..0e7b885f09151 100644
--- a/samples/snippets/csharp/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/cs/verifyxml.csproj
+++ b/samples/snippets/csharp/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/cs/verifyxml.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/AggregateFunctionSample/AggregateFunctionSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
+++ b/samples/snippets/standard/data/sqlite/AsyncSample/AsyncSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BackupSample/BackupSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BatchingSample/BatchingSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
+++ b/samples/snippets/standard/data/sqlite/BulkInsertSample/BulkInsertSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
+++ b/samples/snippets/standard/data/sqlite/CollationSample/CollationSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
index f0110d1ac7a09..1cd178f027772 100644
--- a/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DapperSample/DapperSample.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DateAndTimeSample/DateAndTimeSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DeferredTransactionSample/DeferredTransactionSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
+++ b/samples/snippets/standard/data/sqlite/DirtyReadSample/DirtyReadSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj b/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj
index 380f794b145c3..1d59c09742659 100644
--- a/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/EncryptionSample/EncryptionSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
index 3d6513d77822f..8a834a9e985f0 100644
--- a/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ExtensionsSample/ExtensionsSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
+++ b/samples/snippets/standard/data/sqlite/HelloWorldSample/HelloWorldSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
+++ b/samples/snippets/standard/data/sqlite/InteropSample/InteropSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/RegularExpressionSample/RegularExpressionSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ResultMetadataSample/ResultMetadataSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
+++ b/samples/snippets/standard/data/sqlite/SavepointSample/SavepointSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
index eae7f91609daf..5f527cbe5592e 100644
--- a/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
+++ b/samples/snippets/standard/data/sqlite/ScalarFunctionSample/ScalarFunctionSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
index 7f58099070724..966b4e83e323a 100644
--- a/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
+++ b/samples/snippets/standard/data/sqlite/SqliteProviderSample/SqliteProviderSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
index 67fc95f9ef11b..566432b77d85c 100644
--- a/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
+++ b/samples/snippets/standard/data/sqlite/StreamingSample/StreamingSample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
index d1de5f9f4bfde..7817f3c64059d 100644
--- a/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
+++ b/samples/snippets/standard/data/sqlite/SystemLibrarySample/SystemLibrarySample.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/vb/decryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/vb/decryptxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/vb/decryptxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementAsymmetric/vb/decryptxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementX509/vb/decryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementX509/vb/decryptxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementX509/vb/decryptxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToDecryptXMLElementX509/vb/decryptxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/vb/encryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/vb/encryptxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/vb/encryptxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementAsymmetric/vb/encryptxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/vb/encryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/vb/encryptxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/vb/encryptxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementSymmetric/vb/encryptxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToEncryptXMLElementX509/vb/encryptxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToSignXMLDocumentRSA/vb/signxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToSignXMLDocumentRSA/vb/signxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToSignXMLDocumentRSA/vb/signxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToSignXMLDocumentRSA/vb/signxml.vbproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/vb/verifyxml.vbproj b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/vb/verifyxml.vbproj
index bbd70a0397982..227d2199c9161 100644
--- a/samples/snippets/visualbasic/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/vb/verifyxml.vbproj
+++ b/samples/snippets/visualbasic/VS_Snippets_CLR/HowToVerifyXMLDocumentRSA/vb/verifyxml.vbproj
@@ -6,7 +6,7 @@
-
+