diff --git a/.github/policies/label-prs-services.yml b/.github/policies/label-prs-services.yml index bf0d5da53b678..ddb8db56db817 100644 --- a/.github/policies/label-prs-services.yml +++ b/.github/policies/label-prs-services.yml @@ -45,9 +45,9 @@ configuration: pattern: (?i).*_vblang/spec.* then: - addLabel: - label: dotnet-visualbasic/svc + label: dotnet-visual-basic/svc - addLabel: - label: vb-spec/subsvc + label: vb-language-spec/subsvc - if: - filesMatchPattern: matchAny: true @@ -653,14 +653,14 @@ configuration: pattern: (?i).*docs/visual-basic.* then: - addLabel: - label: dotnet-visualbasic/svc + label: dotnet-visual-basic/svc - if: - filesMatchPattern: matchAny: true pattern: (?i).*docs/visual-basic/language-reference/error-messages.* then: - addLabel: - label: dotnet-visualbasic/svc + label: dotnet-visual-basic/svc - addLabel: label: errors-warnings/subsvc - if: @@ -669,7 +669,7 @@ configuration: pattern: (?i).*docs/visual-basic/misc.* then: - addLabel: - label: dotnet-visualbasic/svc + label: dotnet-visual-basic/svc - addLabel: label: errors-warnings/subsvc onFailure: diff --git a/.github/skills/redirect-article/SKILL.md b/.github/skills/redirect-article/SKILL.md index 549d4c8a11b44..6f1fac1a96434 100644 --- a/.github/skills/redirect-article/SKILL.md +++ b/.github/skills/redirect-article/SKILL.md @@ -52,7 +52,7 @@ To determine the correct redirection file for an article: |--------------|------------------| | AI | `.openpublishing.redirection.ai.json` | | Architecture | `.openpublishing.redirection.architecture.json` | -| .NET Aspire | `.openpublishing.redirection.aspire.json` | +| Aspire | `.openpublishing.redirection.aspire.json` | | Azure | `.openpublishing.redirection.azure.json` | | .NET Core | `.openpublishing.redirection.core.json` | | C# | `.openpublishing.redirection.csharp.json` | diff --git a/docfx.json b/docfx.json index 1104350157a85..c7290f47f723c 100644 --- a/docfx.json +++ b/docfx.json @@ -214,7 +214,7 @@ "_csharplang/**/*.{md,yml}": "dotnet-csharp", "_csharpstandard/**/*.{md,yml}": "dotnet-csharp", "_roslyn/docs/compilers/CSharp/*.{md,yml}": "dotnet-csharp", - "_vblang/spec/*.{md,yml}": "dotnet-visualbasic", + "_vblang/spec/*.{md,yml}": "dotnet-visual-basic", "docs/architecture/**/**.{md,yml}": "dotnet-architecture", "docs/azure/**/*.{md,yml}": "dotnet-azure", "docs/core/**/*.{md,yml}": "dotnet-fundamentals", @@ -227,7 +227,7 @@ "docs/standard/data/**/**.{md,yml}": "dotnet-data", "docs/standard/design-guidelines/*.{md,yml}": "dotnet", "docs/standard/security/*.{md,yml}": "dotnet", - "docs/visual-basic/**/**.{md,yml}": "dotnet-visualbasic", + "docs/visual-basic/**/**.{md,yml}": "dotnet-visual-basic", "docs/orleans/**/**.{md,yml}": "dotnet-orleans" }, "ms.topic": { @@ -522,7 +522,7 @@ "_csharplang/**/*.{md,yml}": "lang-spec", "_csharpstandard/**/*.{md,yml}": "lang-spec", "_roslyn/docs/compilers/CSharp/*.{md,yml}": "whats-new", - "_vblang/spec/*.{md,yml}": "vb-spec", + "_vblang/spec/*.{md,yml}": "vb-language-spec", "docs/ai/**/**.{md,yml}": "intelligent-apps", "docs/architecture/blazor-for-web-forms-developers/**/**.{md,yml}": "blazor", "docs/architecture/cloud-native/**/**.{md,yml}": "cloud-native", diff --git a/docs/ai/quickstarts/text-to-image.md b/docs/ai/quickstarts/text-to-image.md index 8b454ab497d85..1a9a5479c42f6 100644 --- a/docs/ai/quickstarts/text-to-image.md +++ b/docs/ai/quickstarts/text-to-image.md @@ -119,7 +119,7 @@ The `Aspire.Azure.AI.OpenAI` package provides extension methods to register Azur :::code language="csharp" source="snippets/text-to-image/hosting/Program.cs" id="SnippetSetup"::: - The method registers the Azure OpenAI client with dependency injection. The connection string (named `"openai"`) is retrieved from configuration, typically from `appsettings.json` or environment variables: + The [AddAzureOpenAIClient](https://aspire.dev/reference/api/csharp/aspire.azure.ai.openai/aspireazureopenaiextensions/methods/#addazureopenaiclient) method registers the Azure OpenAI client with dependency injection. The connection string (named `"openai"`) is retrieved from configuration, typically from `appsettings.json` or environment variables: ```json { @@ -156,7 +156,7 @@ This hosting approach provides several benefits: - **Dependency injection**: The image generator is available throughout your application via DI. - **Lifecycle management**: Services are properly initialized and disposed of by the hosting infrastructure. - **Testability**: Mock implementations can be easily substituted for testing. -- **Integration with .NET Aspire**: When using .NET Aspire, the `AddAzureOpenAIClient` method integrates with service discovery and telemetry. +- **Integration with Aspire**: When using Aspire, the `AddAzureOpenAIClient` method integrates with service discovery and telemetry. ## Best practices diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index cb4876448cdc4..88765affd7775 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -170,7 +170,7 @@ | Provisioning - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventHubs_1.1.0/sdk/provisioning/Azure.Provisioning.EventHubs/) | | Provisioning - Frontdoor | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.FrontDoor/) | | Provisioning - Key Vault | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.KeyVault-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.1.0/sdk/provisioning/Azure.Provisioning.KeyVault/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.KeyVault/) | -| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.4/sdk/provisioning/Azure.Provisioning.Kubernetes/) | +| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [main](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes) | | Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) | | Provisioning - Kusto | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Kusto/) | | Provisioning - Logic | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Logic/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Logic-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Logic_1.0.0-beta.1/sdk/logic/Azure.Provisioning.Logic/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index 8871caee652c1..a6eb54abf6222 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -183,7 +183,7 @@ | Provisioning - Event Hubs | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.EventHubs/1.1.0) | [docs](/dotnet/api/overview/azure/Provisioning.EventHubs-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.EventHubs_1.1.0/sdk/provisioning/Azure.Provisioning.EventHubs/) | | Provisioning - Frontdoor | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.FrontDoor/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.FrontDoor-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.FrontDoor_1.0.0-beta.1/sdk/provisioning/Azure.Provisioning.FrontDoor/) | | Provisioning - Key Vault | NuGet [1.1.0](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.1.0)
NuGet [1.2.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.KeyVault/1.2.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.KeyVault-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.1.0/sdk/provisioning/Azure.Provisioning.KeyVault/)
GitHub [1.2.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KeyVault_1.2.0-beta.1/sdk/provisioning/Azure.Provisioning.KeyVault/) | -| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.4](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kubernetes_1.0.0-beta.4/sdk/provisioning/Azure.Provisioning.Kubernetes/) | +| Provisioning - Kubernetes | NuGet [1.0.0-beta.4](https://www.nuget.org/packages/Azure.Provisioning.Kubernetes/1.0.0-beta.4) | [docs](/dotnet/api/overview/azure/Provisioning.Kubernetes-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [main](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/hybridkubernetes/Azure.Provisioning.Kubernetes) | | Provisioning - Kubernetes Configuration | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.Provisioning.KubernetesConfiguration/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/Provisioning.KubernetesConfiguration-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.KubernetesConfiguration_1.0.0-beta.3/sdk/provisioning/Azure.Provisioning.KubernetesConfiguration/) | | Provisioning - Kusto | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.Provisioning.Kusto/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/Provisioning.Kusto-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Kusto_1.0.0-beta.2/sdk/provisioning/Azure.Provisioning.Kusto/) | | Provisioning - Logic | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.Provisioning.Logic/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/Provisioning.Logic-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Provisioning.Logic_1.0.0-beta.1/sdk/logic/Azure.Provisioning.Logic/) | diff --git a/docs/core/compatibility/globalization/6.0/culture-creation-invariant-mode.md b/docs/core/compatibility/globalization/6.0/culture-creation-invariant-mode.md index 3cc9b90b3f6ab..20ec5dca98586 100644 --- a/docs/core/compatibility/globalization/6.0/culture-creation-invariant-mode.md +++ b/docs/core/compatibility/globalization/6.0/culture-creation-invariant-mode.md @@ -7,10 +7,10 @@ ms.date: 07/23/2021 This breaking change affects *[globalization-invariant mode](https://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md)* in two ways: -- Previously, .NET allowed any culture to be created in globalization-invariant mode, as long as the culture name conformed to [BCP-47](https://tools.ietf.org/rfc/bcp/bcp47.txt). However, [the invariant culture](/dotnet/api/system.globalization.cultureinfo#invariant-neutral-and-specific-cultures) data was used instead of the real culture data. Starting in .NET 6, an exception is thrown if you create any culture other than the invariant culture in globalization-invariant mode. +- Previously, .NET allowed any culture to be created in globalization-invariant mode, as long as the culture name conformed to [BCP-47](https://www.rfc-editor.org/info/bcp47/). However, [the invariant culture](/dotnet/api/system.globalization.cultureinfo#invariant-neutral-and-specific-cultures) data was used instead of the real culture data. Starting in .NET 6, an exception is thrown if you create any culture other than the invariant culture in globalization-invariant mode. - Previously, globalization-invariant mode only supported case mapping for ASCII characters. Starting in .NET 6, globalization-invariant mode provides full case-mapping support for all Unicode-defined characters. Case mapping is used in operations such as string comparisons, string searches, and upper or lower casing strings. -[Globalization-invariant mode](https://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md) is used for apps that don't required any globalization support. That is, the app runs without access to culture-specific data and behavior. Globalization-invariant mode is enabled by default on some Docker containers, for example, Alpine containers. +[Globalization-invariant mode](https://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md) is used for apps that don't require any globalization support. That is, the app runs without access to culture-specific data and behavior. Globalization-invariant mode is enabled by default on some Docker containers, for example, Alpine containers. ## Old behavior diff --git a/docs/core/diagnostics/dotnet-debug.md b/docs/core/diagnostics/dotnet-debug.md index b41f2b9c3d67f..f684b70d8a280 100644 --- a/docs/core/diagnostics/dotnet-debug.md +++ b/docs/core/diagnostics/dotnet-debug.md @@ -15,24 +15,11 @@ ai-usage: ai-assisted ## Install -There are two ways to download and install `dotnet-debug`: +To install the latest release version of the `dotnet-debug` [NuGet package](https://www.nuget.org/packages/dotnet-debug), use the [dotnet tool install](../tools/dotnet-tool-install.md) command: -- **dotnet global tool:** - - To install the latest release version of the `dotnet-debug` [NuGet package](https://www.nuget.org/packages/dotnet-debug), use the [dotnet tool install](../tools/dotnet-tool-install.md) command: - - ```dotnetcli - dotnet tool install --global dotnet-debug - ``` - -- **Direct download:** - - Download the tool executable that matches your platform: - - | OS | Platform | - | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | - | Windows | [x86](https://aka.ms/dotnet-debug/win-x86) \| [x64](https://aka.ms/dotnet-debug/win-x64) \| [Arm](https://aka.ms/dotnet-debug/win-arm) \| [Arm-x64](https://aka.ms/dotnet-debug/win-arm64) | - | Linux | [x64](https://aka.ms/dotnet-debug/linux-x64) \| [Arm](https://aka.ms/dotnet-debug/linux-arm) \| [Arm64](https://aka.ms/dotnet-debug/linux-arm64) \| [musl-x64](https://aka.ms/dotnet-debug/linux-musl-x64) \| [musl-Arm64](https://aka.ms/dotnet-debug/linux-musl-arm64) | +```dotnetcli +dotnet tool install --global dotnet-debug +``` ## Synopsis diff --git a/docs/core/extensions/generic-host.md b/docs/core/extensions/generic-host.md index cbfee9b85c2ea..09b2f8dda433e 100644 --- a/docs/core/extensions/generic-host.md +++ b/docs/core/extensions/generic-host.md @@ -140,7 +140,7 @@ When you call either : A builder for creating distributed apps. For more information, see [Aspire](/dotnet/aspire). +- [DistributedApplicationBuilder](https://aspire.dev/reference/api/csharp/aspire.hosting/distributedapplicationbuilder/): A builder for creating distributed apps. For more information, see [Aspire](/dotnet/aspire). - : A builder for web applications and services. For more information, see [ASP.NET Core](/aspnet/core). - : A builder for `IWebHost`. For more information, see [ASP.NET Core web host](/aspnet/core/fundamentals/host/web-host). diff --git a/docs/core/install/linux-package-mixup.md b/docs/core/install/linux-package-mixup.md index 3fa30e7a6b161..33ffb5456686f 100644 --- a/docs/core/install/linux-package-mixup.md +++ b/docs/core/install/linux-package-mixup.md @@ -263,7 +263,6 @@ Many other users have reported these problems. The following is a list of those - Generic errors without clear messages - - [Core #4605: cannot run "dotnet new console"](https://github.com/dotnet/core/issues/4605) - [Core #4644: Cannot install .NET Core SDK 2.1 on Fedora 32](https://github.com/dotnet/core/issues/4655) - [Runtime #49375: After updating to 5.0.200-1 using package manager, it appears that no sdks are installed](https://github.com/dotnet/runtime/issues/49375) - [Installer #16438: The application '--version' does not exist](https://github.com/dotnet/installer/issues/16438) diff --git a/docs/core/project-sdk/overview.md b/docs/core/project-sdk/overview.md index ce34eb1c9a955..4ed5bc7b19215 100644 --- a/docs/core/project-sdk/overview.md +++ b/docs/core/project-sdk/overview.md @@ -22,7 +22,7 @@ The available SDKs include: | `Microsoft.NET.Sdk.Razor` | The .NET [Razor SDK](/aspnet/core/razor-pages/sdk) | | | `Microsoft.NET.Sdk.BlazorWebAssembly` | The .NET [Blazor WebAssembly SDK](/aspnet/core/blazor#blazor-webassembly) | | | `Microsoft.NET.Sdk.Worker` | The .NET [Worker Service SDK](../extensions/workers.md) | | -| `Aspire.AppHost.Sdk` | The .NET [Aspire SDK](/dotnet/aspire/fundamentals/dotnet-aspire-sdk) | | +| `Aspire.AppHost.Sdk` | The [Aspire SDK](/dotnet/aspire/fundamentals/dotnet-aspire-sdk) | | | `MSTest.Sdk` | The [MSTest SDK](../testing/unit-testing-mstest-sdk.md) | | The .NET SDK is the base SDK for .NET. The other SDKs reference the .NET SDK, and projects that are associated with the other SDKs have all the .NET SDK properties available to them. The Web SDK, for example, depends on both the .NET SDK and the Razor SDK. diff --git a/docs/core/sdk/file-based-apps.md b/docs/core/sdk/file-based-apps.md index c17191b7f0a40..d533f287c7428 100644 --- a/docs/core/sdk/file-based-apps.md +++ b/docs/core/sdk/file-based-apps.md @@ -420,9 +420,9 @@ Caching improves build performance but can cause confusion when: - Clear cache artifacts for file-based apps by using the following command: -```dotnetcli -dotnet clean file-based-apps -``` + ```dotnetcli + dotnet clean file-based-apps + ``` - Force a clean build to bypass cache: diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1066.md b/docs/fundamentals/code-analysis/quality-rules/ca1066.md index ba7d7ecec7c64..15b474d4dc58b 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1066.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1066.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA1066 author: mavasani -ms.author: mavasani --- # CA1066: Implement IEquatable when overriding Equals @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Implement IEquatable when overriding Equals | | **Category** | [Design](design-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | No | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | No | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1067.md b/docs/fundamentals/code-analysis/quality-rules/ca1067.md index a5aff642ff62f..0bf49585c39ad 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1067.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1067.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA1067 author: mavasani -ms.author: mavasani --- # CA1067: Override Equals when implementing IEquatable @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Override Equals when implementing IEquatable | | **Category** | [Design](design-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1068.md b/docs/fundamentals/code-analysis/quality-rules/ca1068.md index acf4878297e14..bcc2cddb63994 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1068.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1068.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "CA1068" - "CancellationTokenParametersMustComeLast" author: mavasani -ms.author: mavasani --- # CA1068: CancellationToken parameters must come last @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | CancellationToken parameters must come last | | **Category** | [Design](design-warnings.md) | | **Fix is breaking or non-breaking** | Breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1069.md b/docs/fundamentals/code-analysis/quality-rules/ca1069.md index f49022668a387..9a33d027e75fd 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1069.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1069.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - "CA1069" author: mavasani -ms.author: mavasani --- # CA1069: Enums should not have duplicate values @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Enums should not have duplicate values | | **Category** | [Design](design-warnings.md) | | **Fix is breaking or non-breaking** | Breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1070.md b/docs/fundamentals/code-analysis/quality-rules/ca1070.md index 52c10f45a6acf..074f0928dff36 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1070.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1070.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - "CA1070" author: mavasani -ms.author: mavasani --- # CA1070: Do not declare event fields as virtual @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Do not declare event fields as virtual | | **Category** | [Design](design-warnings.md) | | **Fix is breaking or non-breaking** | Breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1200.md b/docs/fundamentals/code-analysis/quality-rules/ca1200.md index eeeb743c4d4e6..0aacb6a36d857 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1200.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1200.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "AvoidUsingCrefTagsWithAPrefix" - "CA1200" author: mavasani -ms.author: mavasani dev_langs: - CSharp --- @@ -21,8 +20,8 @@ dev_langs: | **Title** | Avoid using cref tags with a prefix | | **Category** | [Documentation](documentation-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | No | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | No | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1508.md b/docs/fundamentals/code-analysis/quality-rules/ca1508.md index 4c28ee09eda53..40656ec896d8c 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1508.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1508.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "CA1508" - "AvoidDeadConditionalCode" author: mavasani -ms.author: mavasani --- # CA1508: Avoid dead conditional code @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Avoid dead conditional code | | **Category** | [Maintainability](maintainability-warnings.md) | | **Fix is breaking or non-breaking** | Non-Breaking | -| **Enabled by default in .NET 10** | No | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | No | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1509.md b/docs/fundamentals/code-analysis/quality-rules/ca1509.md index b295c899c6a37..7592fa9c9b6e2 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1509.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1509.md @@ -9,7 +9,6 @@ helpviewer_keywords: - CodeMetricsAnalyzer - CA1509 author: mavasani -ms.author: mavasani --- # CA1509: Invalid entry in code metrics configuration file @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Invalid entry in code metrics configuration file | | **Category** | [Maintainability](maintainability-warnings.md) | | **Fix is breaking or non-breaking** | Non-Breaking | -| **Enabled by default in .NET 10** | No | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | No | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1825.md b/docs/fundamentals/code-analysis/quality-rules/ca1825.md index 14bbbb6b825b1..6af042da4691a 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1825.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1825.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "AvoidZeroLengthArrayAllocations" - "CA1825" author: mavasani -ms.author: mavasani dev_langs: - CSharp --- @@ -21,8 +20,8 @@ dev_langs: | **Title** | Avoid zero-length array allocations | | **Category** | [Performance](performance-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1826.md b/docs/fundamentals/code-analysis/quality-rules/ca1826.md index 92e817d7f3c6e..1bb7368161f9c 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1826.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1826.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "DoNotUseEnumerableMethodsOnIndexableCollectionsInsteadUseTheCollectionDirectlyAnalyzer" - "CA1826" author: mavasani -ms.author: mavasani --- # CA1826: Use property instead of Linq Enumerable method @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Use property instead of Linq Enumerable method | | **Category** | [Performance](performance-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1827.md b/docs/fundamentals/code-analysis/quality-rules/ca1827.md index 61db98a6f829f..ddf3791571c5c 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1827.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1827.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "DoNotUseCountWhenAnyCanBeUsedAnalyzer" - "CA1827" author: mavasani -ms.author: mavasani --- # CA1827: Do not use Count()/LongCount() when Any() can be used @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Do not use Count()/LongCount() when Any() can be used | | **Category** | [Performance](performance-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1828.md b/docs/fundamentals/code-analysis/quality-rules/ca1828.md index e8755887ad87e..23c3e05780ec6 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1828.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1828.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "DoNotUseCountWhenAnyCanBeUsedAnalyzer" - "CA1828" author: mavasani -ms.author: mavasani --- # CA1828: Do not use CountAsync/LongCountAsync when AnyAsync can be used @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Do not use CountAsync/LongCountAsync when AnyAsync can be used | | **Category** | [Performance](performance-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca1829.md b/docs/fundamentals/code-analysis/quality-rules/ca1829.md index 55d03db20c021..47bb6f198be5d 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca1829.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca1829.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "UsePropertyInsteadOfCountMethodWhenAvailableAnalyzer" - "CA1829" author: mavasani -ms.author: mavasani --- # CA1829: Use Length/Count property instead of Enumerable.Count method @@ -19,8 +18,8 @@ ms.author: mavasani | **Title** | Use Length/Count property instead of Enumerable.Count method | | **Category** | [Performance](performance-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2009.md b/docs/fundamentals/code-analysis/quality-rules/ca2009.md index 100a3ab8cc84d..ce371b0fe3824 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2009.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2009.md @@ -8,7 +8,6 @@ f1_keywords: helpviewer_keywords: - CA2009 author: mavasani -ms.author: mavasani --- # CA2009: Do not call ToImmutableCollection on an ImmutableCollection value @@ -18,8 +17,8 @@ ms.author: mavasani | **Title** | Do not call ToImmutableCollection on an ImmutableCollection value | | **Category** | [Reliability](reliability-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2011.md b/docs/fundamentals/code-analysis/quality-rules/ca2011.md index 61b397f443c95..8ff609e11931a 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2011.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2011.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA2011 author: mavasani -ms.author: mavasani --- # CA2011: Do not assign property within its setter @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Do not assign property within its setter | | **Category** | [Reliability](reliability-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2244.md b/docs/fundamentals/code-analysis/quality-rules/ca2244.md index 937114abc9379..0a565b3a6c0dc 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2244.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2244.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA2244 author: mavasani -ms.author: mavasani --- # CA2244: Do not duplicate indexed element initializations @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Do not duplicate indexed element initializations | | **Category** | [Usage](usage-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2245.md b/docs/fundamentals/code-analysis/quality-rules/ca2245.md index 42968f1a28c76..de183d5917608 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2245.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2245.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA2245 author: mavasani -ms.author: mavasani --- # CA2245: Do not assign a property to itself @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Do not assign a property to itself | | **Category** | [Usage](usage-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2246.md b/docs/fundamentals/code-analysis/quality-rules/ca2246.md index 07d6d77f8a898..9f5dc562efb51 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2246.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2246.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA2246 author: mavasani -ms.author: mavasani --- # CA2246: Do not assign a symbol and its member in the same statement @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Do not assign a symbol and its member in the same statement | | **Category** | [Usage](usage-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/ca2248.md b/docs/fundamentals/code-analysis/quality-rules/ca2248.md index 195c0217df540..33dbbca3e1e54 100644 --- a/docs/fundamentals/code-analysis/quality-rules/ca2248.md +++ b/docs/fundamentals/code-analysis/quality-rules/ca2248.md @@ -7,7 +7,6 @@ f1_keywords: helpviewer_keywords: - CA2248 author: mavasani -ms.author: mavasani --- # CA2248: Provide correct enum argument to Enum.HasFlag @@ -17,8 +16,8 @@ ms.author: mavasani | **Title** | Provide correct enum argument to Enum.HasFlag | | **Category** | [Usage](usage-warnings.md) | | **Fix is breaking or non-breaking** | Non-breaking | -| **Enabled by default in .NET 10** | As suggestion | -| **Applicable languages** | C# and Visual Basic | +| **Enabled by default in .NET 10** | As suggestion | +| **Applicable languages** | C# and Visual Basic | ## Cause diff --git a/docs/fundamentals/code-analysis/quality-rules/documentation-warnings.md b/docs/fundamentals/code-analysis/quality-rules/documentation-warnings.md index 420a4408d0652..bec8dbb3ad1c1 100644 --- a/docs/fundamentals/code-analysis/quality-rules/documentation-warnings.md +++ b/docs/fundamentals/code-analysis/quality-rules/documentation-warnings.md @@ -9,7 +9,6 @@ helpviewer_keywords: - "managed code analysis rules, documentation rules" - "warnings, documentation" author: mavasani -ms.author: mavasani --- # Documentation rules @@ -17,6 +16,6 @@ Documentation rules support writing well-documented libraries through the correc ## In this section -| Rule | Description | -| - | - | +| Rule | Description | +|----------------------------------------------------------|-------------| | [CA1200: Avoid using cref tags with a prefix](ca1200.md) | The [cref](../../../csharp/language-reference/xmldoc/recommended-tags.md) attribute in an XML documentation tag means "code reference". It specifies that the inner text of the tag is a code element, such as a type, method, or property. Avoid using `cref` tags with prefixes, because it prevents the compiler from verifying references. It also prevents the Visual Studio integrated development environment (IDE) from finding and updating these symbol references during refactorings. | diff --git a/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/Extensions.cs b/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/Extensions.cs index eb6a5822eb0d8..68c999dfb2864 100644 --- a/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/Extensions.cs +++ b/docs/fundamentals/networking/telemetry/snippets/tracing/ConnectionTracingDemo.ServiceDefaults/Extensions.cs @@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Hosting; -// Adds common .NET Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. // This project should be referenced by each service project in your solution. // To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults public static class Extensions @@ -74,7 +74,7 @@ public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) w return builder; } - + private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder { diff --git a/docs/orleans/deployment/deploy-to-azure-container-apps.md b/docs/orleans/deployment/deploy-to-azure-container-apps.md index d7436f785a0ef..52c959d484e08 100644 --- a/docs/orleans/deployment/deploy-to-azure-container-apps.md +++ b/docs/orleans/deployment/deploy-to-azure-container-apps.md @@ -23,15 +23,15 @@ In this tutorial, you learn how to: > - Automate deployment using GitHub Actions and Azure Bicep > - Configure HTTP ingress -## Deploy with .NET Aspire (Recommended) +## Deploy with Aspire (Recommended) -If your Orleans application uses [.NET Aspire](../host/aspire-integration.md), you can deploy to Azure Container Apps with a simplified workflow using the Aspire CLI (`aspire`). The Aspire CLI automatically provisions all required infrastructure and handles the deployment. +If your Orleans application uses [Aspire](../host/aspire-integration.md), you can deploy to Azure Container Apps with a simplified workflow using the Aspire CLI (`aspire`). The Aspire CLI automatically provisions all required infrastructure and handles the deployment. ### Aspire deployment prerequisites - [Aspire CLI](https://aspire.dev/get-started/install-cli/) installed - [Azure CLI](/cli/azure/install-azure-cli) installed -- [.NET Aspire workload](/dotnet/aspire/fundamentals/setup-tooling) +- [Aspire workload](/dotnet/aspire/fundamentals/setup-tooling) - An Azure subscription with permissions to create resources - Docker Desktop or Podman running (for building container images) @@ -127,13 +127,13 @@ When you deploy an Orleans Aspire application to Azure Container Apps, `aspire d > [!TIP] > To update your app after code changes, simply run `aspire deploy` again. The CLI handles incremental updates efficiently. -For comprehensive guidance on deploying .NET Aspire applications to Azure, see [Deploy Aspire to Azure Container Apps using the Aspire CLI](https://aspire.dev/deployment/azure/aca-deployment-aspire-cli/). +For comprehensive guidance on deploying Aspire applications to Azure, see [Deploy Aspire to Azure Container Apps using the Aspire CLI](https://aspire.dev/deployment/azure/aca-deployment-aspire-cli/). --- ## Traditional deployment (without Aspire) -The following sections describe how to deploy Orleans to Azure Container Apps using GitHub Actions and Azure Bicep, without .NET Aspire. +The following sections describe how to deploy Orleans to Azure Container Apps using GitHub Actions and Azure Bicep, without Aspire. ## Prerequisites diff --git a/docs/orleans/deployment/kubernetes.md b/docs/orleans/deployment/kubernetes.md index bd9fcf1eb325c..f461a0ced26a3 100644 --- a/docs/orleans/deployment/kubernetes.md +++ b/docs/orleans/deployment/kubernetes.md @@ -24,9 +24,9 @@ The [`Microsoft.Orleans.Hosting.Kubernetes`](https://www.nuget.org/packages/Micr Note that the Kubernetes hosting package doesn't use Kubernetes for clustering. A separate clustering provider is still needed. For more information on configuring clustering, see the [Server configuration](../host/configuration-guide/server-configuration.md) documentation. -## Deploy to Kubernetes with .NET Aspire +## Deploy to Kubernetes with Aspire -.NET Aspire simplifies Kubernetes deployment by automatically generating Kubernetes manifests from your AppHost configuration. Instead of manually writing YAML files, Aspire can produce the necessary deployment, service, and configuration resources based on your application's dependency graph. +Aspire simplifies Kubernetes deployment by automatically generating Kubernetes manifests from your AppHost configuration. Instead of manually writing YAML files, Aspire can produce the necessary deployment, service, and configuration resources based on your application's dependency graph. ### Add the Kubernetes hosting integration @@ -100,7 +100,7 @@ helm install my-orleans-app ./k8s-manifests/charts/my-orleans-app For detailed information about the Aspire Kubernetes integration, see the [Aspire Kubernetes integration documentation](https://aspire.dev/integrations/compute/kubernetes/). -For more information about configuring Orleans with .NET Aspire, see [.NET Aspire Orleans integration](../host/aspire-integration.md). +For more information about configuring Orleans with Aspire, see [Aspire Orleans integration](../host/aspire-integration.md). ## Manual Kubernetes configuration diff --git a/docs/orleans/grains/grain-persistence/azure-storage.md b/docs/orleans/grains/grain-persistence/azure-storage.md index 3c019b1449d56..9d048b31c4127 100644 --- a/docs/orleans/grains/grain-persistence/azure-storage.md +++ b/docs/orleans/grains/grain-persistence/azure-storage.md @@ -97,9 +97,9 @@ siloBuilder.AddAzureBlobGrainStorage( :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -## .NET Aspire integration for grain persistence +## Aspire integration for grain persistence -[.NET Aspire](../../host/aspire-integration.md) simplifies Azure Storage grain persistence configuration by managing resource provisioning and connection automatically. +[Aspire](../../host/aspire-integration.md) simplifies Azure Storage grain persistence configuration by managing resource provisioning and connection automatically. ### Azure Blob Storage with Aspire @@ -173,7 +173,7 @@ builder.Build().Run(); > [!IMPORTANT] > You must call the appropriate `AddKeyed*` method (such as `AddKeyedAzureBlobServiceClient` or `AddKeyedAzureTableServiceClient`) to register the storage client in the dependency injection container. Orleans providers look up resources by their keyed service name—if you skip this step, Orleans won't be able to resolve the storage client and will throw a dependency resolution error at runtime. -For comprehensive documentation on Orleans and .NET Aspire integration, see [Orleans and .NET Aspire integration](../../host/aspire-integration.md). +For comprehensive documentation on Orleans and Aspire integration, see [Orleans and Aspire integration](../../host/aspire-integration.md). :::zone-end diff --git a/docs/orleans/grains/grain-persistence/index.md b/docs/orleans/grains/grain-persistence/index.md index 61dee7086e368..ced9ad992bfdd 100644 --- a/docs/orleans/grains/grain-persistence/index.md +++ b/docs/orleans/grains/grain-persistence/index.md @@ -325,9 +325,9 @@ The class provides the following | `CreateMultiplexer` | `Func>` | Custom factory for creating the Redis connection multiplexer. | | `GetStorageKey` | `Func` | Custom function to generate the Redis key for a grain. Default format is `{ServiceId}/state/{grainId}/{grainType}`. | -### .NET Aspire integration +### Aspire integration -When using [.NET Aspire](/dotnet/aspire/get-started/aspire-overview), you can integrate Redis grain storage with the Aspire-managed Redis resource. +When using [Aspire](/dotnet/aspire/get-started/aspire-overview), you can integrate Redis grain storage with the Aspire-managed Redis resource. ```csharp // In your AppHost project diff --git a/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj b/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj index f9480d80941dd..6802e845446a5 100644 --- a/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj +++ b/docs/orleans/grains/snippets/transactions/Abstractions/Abstractions.csproj @@ -1,11 +1,11 @@ - + - - - + + + diff --git a/docs/orleans/grains/snippets/transactions/Client/Client.csproj b/docs/orleans/grains/snippets/transactions/Client/Client.csproj index 7970b29eda60c..e6fce0b1dee9f 100644 --- a/docs/orleans/grains/snippets/transactions/Client/Client.csproj +++ b/docs/orleans/grains/snippets/transactions/Client/Client.csproj @@ -5,7 +5,7 @@ - + diff --git a/docs/orleans/grains/snippets/transactions/Server/Server.csproj b/docs/orleans/grains/snippets/transactions/Server/Server.csproj index de7363f40b68a..5ec2cb01baf2d 100644 --- a/docs/orleans/grains/snippets/transactions/Server/Server.csproj +++ b/docs/orleans/grains/snippets/transactions/Server/Server.csproj @@ -5,10 +5,10 @@ - + - - + + diff --git a/docs/orleans/grains/timers-and-reminders.md b/docs/orleans/grains/timers-and-reminders.md index 54b4bd9832b22..cfbd1af8b6e57 100644 --- a/docs/orleans/grains/timers-and-reminders.md +++ b/docs/orleans/grains/timers-and-reminders.md @@ -219,11 +219,11 @@ The class provides th > [!IMPORTANT] > If you have a heterogenous cluster, where the silos handle different grain types (implement different interfaces), every silo must add the configuration for Reminders, even if the silo itself doesn't handle any reminders. -### .NET Aspire integration for reminders +### Aspire integration for reminders :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -When using [.NET Aspire](../host/aspire-integration.md), you can configure Orleans reminders declaratively in your AppHost project. Aspire automatically injects the necessary configuration into your silo projects via environment variables. +When using [Aspire](../host/aspire-integration.md), you can configure Orleans reminders declaratively in your AppHost project. Aspire automatically injects the necessary configuration into your silo projects via environment variables. #### Redis reminders with Aspire @@ -266,7 +266,7 @@ For local development, you can use in-memory reminders that don't require extern > [!IMPORTANT] > You must call the appropriate `AddKeyed*` method (such as `AddKeyedRedisClient` or `AddKeyedAzureTableClient`) to register the backing resource in the dependency injection container. Orleans providers look up resources by their keyed service name—if you skip this step, Orleans won't be able to resolve the resource and will throw a dependency resolution error at runtime. -For more information about Orleans and .NET Aspire integration, see [Orleans and .NET Aspire integration](../host/aspire-integration.md). +For more information about Orleans and Aspire integration, see [Orleans and Aspire integration](../host/aspire-integration.md). :::zone-end diff --git a/docs/orleans/host/aspire-integration.md b/docs/orleans/host/aspire-integration.md index df95fb60c89a3..71af1bc0c6287 100644 --- a/docs/orleans/host/aspire-integration.md +++ b/docs/orleans/host/aspire-integration.md @@ -1,20 +1,20 @@ --- -title: Orleans and .NET Aspire integration -description: Learn how to integrate Orleans with .NET Aspire for cloud-native development. +title: Orleans and Aspire integration +description: Learn how to integrate Orleans with Aspire for cloud-native development. ms.date: 01/21/2026 ms.topic: concept-article zone_pivot_groups: orleans-version --- -# Orleans and .NET Aspire integration +# Orleans and Aspire integration :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -[.NET Aspire](/dotnet/aspire/get-started/aspire-overview) provides a streamlined approach to building cloud-native applications with built-in support for Orleans. Starting with Orleans 8.0, you can use Aspire to orchestrate your Orleans cluster, manage backing resources (like Redis or Azure Storage), and automatically configure service discovery, observability, and health checks. +[Aspire](/dotnet/aspire/get-started/aspire-overview) provides a streamlined approach to building cloud-native applications with built-in support for Orleans. Starting with Orleans 8.0, you can use Aspire to orchestrate your Orleans cluster, manage backing resources (like Redis or Azure Storage), and automatically configure service discovery, observability, and health checks. ## Overview -Orleans integration with .NET Aspire uses the `Aspire.Hosting.Orleans` package in your AppHost project. This package provides extension methods to: +Orleans integration with Aspire uses the `Aspire.Hosting.Orleans` package in your AppHost project. This package provides extension methods to: - Define Orleans as a distributed resource - Configure clustering providers (Redis, Azure Storage, ADO.NET) @@ -28,7 +28,7 @@ Orleans integration with .NET Aspire uses the `Aspire.Hosting.Orleans` package i Before using Orleans with Aspire, ensure you have: - [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) or later -- [.NET Aspire workload](/dotnet/aspire/fundamentals/setup-tooling) +- [Aspire workload](/dotnet/aspire/fundamentals/setup-tooling) - An IDE with Aspire support (Visual Studio 2022 17.9+, VS Code with C# Dev Kit, or JetBrains Rider) ## Required packages @@ -72,7 +72,7 @@ In your Orleans silo project, configure Orleans to use the Aspire-provided resou :::code language="csharp" source="snippets/aspire/Silo/SiloProgram.cs" id="silo_basic_config"::: > [!TIP] -> When using .NET Aspire, the parameterless is typically all you need. Aspire injects Orleans configuration (cluster ID, service ID, endpoints, and provider settings) via environment variables that Orleans reads automatically. You only need the delegate overload `UseOrleans(siloBuilder => {...})` when you require additional manual configuration beyond what Aspire provides. +> When using Aspire, the parameterless is typically all you need. Aspire injects Orleans configuration (cluster ID, service ID, endpoints, and provider settings) via environment variables that Orleans reads automatically. You only need the delegate overload `UseOrleans(siloBuilder => {...})` when you require additional manual configuration beyond what Aspire provides. > [!IMPORTANT] > You must call the appropriate `AddKeyed*` method (such as `AddKeyedRedisClient`, `AddKeyedAzureTableClient`, or `AddKeyedAzureBlobClient`) to register the backing resource in the dependency injection container. Orleans providers look up resources by their keyed service name—if you skip this step, Orleans won't be able to resolve the resource and will throw a dependency resolution error at runtime. This applies to all Aspire-managed resources used with Orleans. @@ -189,8 +189,8 @@ Aspire automatically configures health check endpoints. You can add Orleans-spec ## See also -- [.NET Aspire overview](/dotnet/aspire/get-started/aspire-overview) -- [.NET Aspire setup and tooling](/dotnet/aspire/fundamentals/setup-tooling) +- [Aspire overview](/dotnet/aspire/get-started/aspire-overview) +- [Aspire setup and tooling](/dotnet/aspire/fundamentals/setup-tooling) - [Orleans configuration guide](configuration-guide/index.md) - [Orleans Redis providers](../grains/grain-persistence/index.md#redis-grain-persistence) - [Orleans Azure Storage providers](../grains/grain-persistence/azure-storage.md) @@ -199,7 +199,7 @@ Aspire automatically configures health check endpoints. You can add Orleans-spec :::zone target="docs" pivot="orleans-7-0" -.NET Aspire integration was introduced in Orleans 8.0. For Orleans 7.0, you can still deploy to Aspire-orchestrated environments, but the dedicated `Aspire.Hosting.Orleans` package and its extension methods are not available. +Aspire integration was introduced in Orleans 8.0. For Orleans 7.0, you can still deploy to Aspire-orchestrated environments, but the dedicated `Aspire.Hosting.Orleans` package and its extension methods are not available. Consider upgrading to Orleans 8.0 or later to take advantage of the Aspire integration features. @@ -207,6 +207,6 @@ Consider upgrading to Orleans 8.0 or later to take advantage of the Aspire integ :::zone target="docs" pivot="orleans-3-x" -.NET Aspire integration is available in Orleans 8.0 and later. Orleans 3.x does not support .NET Aspire. +Aspire integration is available in Orleans 8.0 and later. Orleans 3.x does not support Aspire. :::zone-end diff --git a/docs/orleans/host/configuration-guide/client-configuration.md b/docs/orleans/host/configuration-guide/client-configuration.md index c85a0e43e8380..a4ed73f297983 100644 --- a/docs/orleans/host/configuration-guide/client-configuration.md +++ b/docs/orleans/host/configuration-guide/client-configuration.md @@ -27,7 +27,7 @@ Configure a client for connecting to a cluster of silos and sending requests to :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" > [!TIP] -> If you're using [.NET Aspire](../aspire-integration.md), client configuration is handled automatically. Aspire injects , , and clustering provider settings via environment variables, so you can use the simpler parameterless method. See [Orleans and .NET Aspire integration](../aspire-integration.md) for the recommended approach. +> If you're using [Aspire](../aspire-integration.md), client configuration is handled automatically. Aspire injects , , and clustering provider settings via environment variables, so you can use the simpler parameterless method. See [Orleans and Aspire integration](../aspire-integration.md) for the recommended approach. :::zone-end diff --git a/docs/orleans/host/configuration-guide/server-configuration.md b/docs/orleans/host/configuration-guide/server-configuration.md index de4d74b4b38ad..703681b4e2bc0 100644 --- a/docs/orleans/host/configuration-guide/server-configuration.md +++ b/docs/orleans/host/configuration-guide/server-configuration.md @@ -20,7 +20,7 @@ There are several key aspects of silo configuration: - (Optional) Endpoints for silo-to-silo and client-to-silo communications > [!TIP] -> If you're using [.NET Aspire](../aspire-integration.md) (Orleans 8.0+), most of this configuration is handled automatically. Aspire injects , , and endpoint configuration via environment variables, so you can use the simpler parameterless method. See [Orleans and .NET Aspire integration](../aspire-integration.md) for the recommended approach. +> If you're using [Aspire](../aspire-integration.md) (Orleans 8.0+), most of this configuration is handled automatically. Aspire injects , , and endpoint configuration via environment variables, so you can use the simpler parameterless method. See [Orleans and Aspire integration](../aspire-integration.md) for the recommended approach. This example shows a silo configuration defining cluster information and using Azure Table Storage for clustering: diff --git a/docs/orleans/host/configuration-guide/typical-configurations.md b/docs/orleans/host/configuration-guide/typical-configurations.md index ec5b3ca31b877..962b07fe3b593 100644 --- a/docs/orleans/host/configuration-guide/typical-configurations.md +++ b/docs/orleans/host/configuration-guide/typical-configurations.md @@ -13,9 +13,9 @@ Below are examples of typical configurations you can use for development and pro :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -## Recommended: .NET Aspire configuration +## Recommended: Aspire configuration -[.NET Aspire](../aspire-integration.md) is the recommended approach for configuring Orleans applications. Aspire provides declarative resource management, automatic service discovery, built-in observability, and simplified deployment—eliminating most manual configuration. +[Aspire](../aspire-integration.md) is the recommended approach for configuring Orleans applications. Aspire provides declarative resource management, automatic service discovery, built-in observability, and simplified deployment—eliminating most manual configuration. ### Production configuration with Redis @@ -121,7 +121,7 @@ builder.Build().Run(); > [!IMPORTANT] > You must call the appropriate `AddKeyed*` method (such as `AddKeyedRedisClient`, `AddKeyedAzureTableServiceClient`, or `AddKeyedAzureBlobServiceClient`) to register the backing resource in the dependency injection container. Orleans providers look up resources by their keyed service name—if you skip this step, Orleans won't be able to resolve the resource and will throw a dependency resolution error at runtime. -For comprehensive documentation on Orleans and .NET Aspire integration, see [Orleans and .NET Aspire integration](../aspire-integration.md). +For comprehensive documentation on Orleans and Aspire integration, see [Orleans and Aspire integration](../aspire-integration.md). :::zone-end @@ -133,7 +133,7 @@ For more information, see [Local development configuration](local-development-co ## Traditional configurations (without Aspire) -The following sections describe traditional Orleans configurations that don't use .NET Aspire. These are useful when Aspire isn't available or when you need fine-grained control over Orleans configuration. +The following sections describe traditional Orleans configurations that don't use Aspire. These are useful when Aspire isn't available or when you need fine-grained control over Orleans configuration. :::zone-end diff --git a/docs/orleans/host/snippets/aspire/AppHost/AppHostExamples.cs b/docs/orleans/host/snippets/aspire/AppHost/AppHostExamples.cs index b01de654aff64..668d77f7830ba 100644 --- a/docs/orleans/host/snippets/aspire/AppHost/AppHostExamples.cs +++ b/docs/orleans/host/snippets/aspire/AppHost/AppHostExamples.cs @@ -5,7 +5,7 @@ namespace Orleans.Docs.Snippets.Aspire; #pragma warning disable CS0219 // Variable is assigned but its value is never used -// This file contains examples for Orleans .NET Aspire integration documentation. +// This file contains examples for Orleans Aspire integration documentation. // Each example is wrapped in a region marker and a method to allow compilation. public static class AppHostExamples diff --git a/docs/orleans/implementation/cluster-management.md b/docs/orleans/implementation/cluster-management.md index b3d898f040dfa..855cff9a04a45 100644 --- a/docs/orleans/implementation/cluster-management.md +++ b/docs/orleans/implementation/cluster-management.md @@ -143,9 +143,9 @@ The class provides the fo :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -### .NET Aspire integration for clustering +### Aspire integration for clustering -When using [.NET Aspire](../host/aspire-integration.md), you can configure Orleans clustering declaratively in your AppHost project. Aspire automatically injects the necessary configuration into your silo projects via environment variables. +When using [Aspire](../host/aspire-integration.md), you can configure Orleans clustering declaratively in your AppHost project. Aspire automatically injects the necessary configuration into your silo projects via environment variables. #### Redis clustering with Aspire @@ -253,7 +253,7 @@ builder.Build().Run(); > [!IMPORTANT] > You must call the appropriate `AddKeyed*` method (such as `AddKeyedRedisClient`, `AddKeyedAzureTableServiceClient`, or `AddKeyedAzureCosmosClient`) to register the backing resource in the dependency injection container. Orleans providers look up resources by their keyed service name—if you skip this step, Orleans won't be able to resolve the resource and will throw a dependency resolution error at runtime. -For more information about Orleans and .NET Aspire integration, see [Orleans and .NET Aspire integration](../host/aspire-integration.md). +For more information about Orleans and Aspire integration, see [Orleans and Aspire integration](../host/aspire-integration.md). :::zone-end diff --git a/docs/orleans/migration-guide.md b/docs/orleans/migration-guide.md index 4b6a340a7ea30..77c189524c8c6 100644 --- a/docs/orleans/migration-guide.md +++ b/docs/orleans/migration-guide.md @@ -264,7 +264,7 @@ public class MyGrain : Grain, IMyGrain { } If you're upgrading from Orleans 7.x, note these changes introduced in Orleans 8.0: - **New Timer API**: was introduced to replace `RegisterTimer` -- **[.NET Aspire integration](host/aspire-integration.md)**: First-class support for .NET Aspire +- **[Aspire integration](host/aspire-integration.md)**: First-class support for Aspire - **Resource-Optimized Placement**: New placement strategy based on CPU and memory utilization - **Activation Repartitioning** (8.2+): Experimental feature for automatic grain rebalancing diff --git a/docs/orleans/overview.md b/docs/orleans/overview.md index 88ce797faba44..f34a28f817f19 100644 --- a/docs/orleans/overview.md +++ b/docs/orleans/overview.md @@ -59,7 +59,7 @@ Orleans 9.x introduces several significant features: Orleans 8.x introduced several important features: -- **[.NET Aspire Integration](host/aspire-integration.md)**: First-class support for .NET Aspire for simplified cloud-native development. +- **[Aspire Integration](host/aspire-integration.md)**: First-class support for Aspire for simplified cloud-native development. - **Resource-Optimized Placement**: A new placement strategy based on CPU and memory utilization. - **Activation Repartitioning (8.2, Experimental)**: Automatic redistribution of grains for improved performance. - **New Grain Timer API (8.2)**: replaces the deprecated `RegisterTimer` method. diff --git a/docs/orleans/quickstarts/build-your-first-orleans-app.md b/docs/orleans/quickstarts/build-your-first-orleans-app.md index 3d5aead3e3d50..8d78f58d3026c 100644 --- a/docs/orleans/quickstarts/build-your-first-orleans-app.md +++ b/docs/orleans/quickstarts/build-your-first-orleans-app.md @@ -185,9 +185,9 @@ Test the application in the browser using the following steps: :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -## Next steps: Production-ready Orleans with .NET Aspire +## Next steps: Production-ready Orleans with Aspire -The quickstart above uses in-memory storage and localhost clustering, which works well for development but isn't suitable for production deployments. When you're ready to build production-ready Orleans applications, **.NET Aspire** provides a streamlined approach with: +The quickstart above uses in-memory storage and localhost clustering, which works well for development but isn't suitable for production deployments. When you're ready to build production-ready Orleans applications, **Aspire** provides a streamlined approach with: - **Resource management**: Easily add Redis, Azure Storage, or SQL databases as backing stores for clustering, grain storage, and reminders - **Service discovery**: Automatic configuration of Orleans silos and clients without manual endpoint configuration @@ -197,7 +197,7 @@ The quickstart above uses in-memory storage and localhost clustering, which work ### Quick example with Aspire -Here's how the URL shortener app would look with .NET Aspire and Redis: +Here's how the URL shortener app would look with Aspire and Redis: **AppHost project (Program.cs):** @@ -236,7 +236,7 @@ var app = builder.Build(); With Aspire, Orleans automatically picks up the cluster configuration from environment variables injected by the AppHost, eliminating the need for manual configuration code. > [!div class="nextstepaction"] -> [Learn more about Orleans and .NET Aspire integration](../host/aspire-integration.md) +> [Learn more about Orleans and Aspire integration](../host/aspire-integration.md) :::zone-end diff --git a/docs/orleans/streaming/stream-providers.md b/docs/orleans/streaming/stream-providers.md index 9399f6abc3937..53ec31e424071 100644 --- a/docs/orleans/streaming/stream-providers.md +++ b/docs/orleans/streaming/stream-providers.md @@ -34,9 +34,9 @@ Different stream providers delivering events over durable queues exhibit similar :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" -## .NET Aspire integration for streaming +## Aspire integration for streaming -[.NET Aspire](../host/aspire-integration.md) simplifies Orleans streaming configuration by managing resource provisioning and connection automatically. +[Aspire](../host/aspire-integration.md) simplifies Orleans streaming configuration by managing resource provisioning and connection automatically. ### Azure Queue Storage streaming with Aspire @@ -140,7 +140,7 @@ builder.UseOrleans(); builder.Build().Run(); ``` -For comprehensive documentation on Orleans and .NET Aspire integration, see [Orleans and .NET Aspire integration](../host/aspire-integration.md). +For comprehensive documentation on Orleans and Aspire integration, see [Orleans and Aspire integration](../host/aspire-integration.md). :::zone-end diff --git a/docs/orleans/toc.yml b/docs/orleans/toc.yml index 011359b045e45..dfc09d6092a31 100644 --- a/docs/orleans/toc.yml +++ b/docs/orleans/toc.yml @@ -24,12 +24,12 @@ items: href: grains/grain-references.md - name: Grain identity href: grains/grain-identity.md - - name: Grain placement - items: - - name: Overview - href: grains/grain-placement.md - - name: Grain placement filtering - href: grains/grain-placement-filtering.md + - name: Grain placement + items: + - name: Overview + href: grains/grain-placement.md + - name: Grain placement filtering + href: grains/grain-placement-filtering.md - name: Grain extensions href: grains/grain-extensions.md - name: Timers and reminders @@ -122,7 +122,7 @@ items: href: host/client.md - name: Dashboard href: dashboard/index.md - - name: .NET Aspire integration + - name: Aspire integration href: host/aspire-integration.md - name: Silo lifecycle href: host/silo-lifecycle.md diff --git a/docs/orleans/tutorials-and-samples/tutorial-1.md b/docs/orleans/tutorials-and-samples/tutorial-1.md index 6502f3df629d7..0e5e44b471525 100644 --- a/docs/orleans/tutorials-and-samples/tutorial-1.md +++ b/docs/orleans/tutorials-and-samples/tutorial-1.md @@ -15,7 +15,7 @@ This tutorial lacks appropriate error handling and other essential code useful f :::zone target="docs" pivot="orleans-8-0,orleans-9-0,orleans-10-0" > [!TIP] -> For production-ready Orleans applications, consider using **.NET Aspire** to simplify resource management, service discovery, observability, and deployment. Aspire handles configuration for clustering, grain storage, reminders, and streaming automatically. See [.NET Aspire Orleans integration](../host/aspire-integration.md) to learn more. +> For production-ready Orleans applications, consider using **Aspire** to simplify resource management, service discovery, observability, and deployment. Aspire handles configuration for clustering, grain storage, reminders, and streaming automatically. See [Aspire Orleans integration](../host/aspire-integration.md) to learn more. :::zone-end