diff --git a/docs/app-host/withdockerfile.md b/docs/app-host/withdockerfile.md index d4907ede3e..f7a9e64368 100644 --- a/docs/app-host/withdockerfile.md +++ b/docs/app-host/withdockerfile.md @@ -11,7 +11,7 @@ With Aspire it's possible to specify a _Dockerfile_ to build when the [AppHost]( These two methods serve different purposes: - ****: Creates a new container resource from an existing Dockerfile. Use this when you want to add a custom containerized service to your app model. -- ****: Customizes an existing container resource (like a database or cache) to use a different Dockerfile. Use this when you want to modify the default container image for a Aspire component. +- ****: Customizes an existing container resource (like a database or cache) to use a different Dockerfile. Use this when you want to modify the default container image for an Aspire component. Both methods expect an existing Dockerfile in the specified context pathโ€”neither method creates a Dockerfile for you. diff --git a/docs/azure/container-app-jobs.md b/docs/azure/container-app-jobs.md index 4be47543ee..46a9689328 100644 --- a/docs/azure/container-app-jobs.md +++ b/docs/azure/container-app-jobs.md @@ -188,5 +188,5 @@ builder.AddExecutable("data-script", "python", ".", "process_data.py") - [Configure Azure Container Apps environments](configure-aca-environments.md). - [Azure Container Apps Jobs documentation](/azure/container-apps/jobs). -- [Deploy a Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md). +- [Deploy an Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md). - [Customize Azure resources](customize-azure-resources.md). diff --git a/docs/azure/customize-azure-resources.md b/docs/azure/customize-azure-resources.md index 00d19850ea..66e25a6b1e 100644 --- a/docs/azure/customize-azure-resources.md +++ b/docs/azure/customize-azure-resources.md @@ -7,7 +7,7 @@ uid: dotnet/aspire/integrations/customize-azure-resources # Customize Azure resources -If you're using Azure to host resources for a Aspire solution, you have granular control over those resources. You can either let Aspire configure them if the default properties suit your needs, or override defaults to control their behavior. Let's examine how you can customize your Azure infrastructure from Aspire code. +If you're using Azure to host resources for an Aspire solution, you have granular control over those resources. You can either let Aspire configure them if the default properties suit your needs, or override defaults to control their behavior. Let's examine how you can customize your Azure infrastructure from Aspire code. The Azure SDK for .NET provides the [๐Ÿ“ฆ Azure.Provisioning](https://www.nuget.org/packages/Azure.Provisioning) NuGet package and a suite of service-specific [Azure provisioning packages](https://www.nuget.org/packages?q=owner%3A+azure-sdk+description%3A+declarative+resource+provisioning&sortby=relevance). These Azure provisioning libraries make it easy to declaratively specify Azure infrastructure natively in .NET. Their APIs enable you to write object-oriented infrastructure in C#, resulting in Bicep. [Bicep is a domain-specific language (DSL)](/azure/azure-resource-manager/bicep/overview) for deploying Azure resources declaratively. @@ -81,7 +81,7 @@ The preceding code: - Adds a project named `worker` to the builder. - Chains a call to to set the `ACR_REGISTRY_NAME` environment variable in the project to the value of the `registryName` output. -The functionality demonstrates how to add Azure infrastructure to your AppHost project, even if the Azure service isn't directly exposed as a Aspire integration. It further shows how to flow the output of the Azure Container Registry into the environment of a dependent project. +The functionality demonstrates how to add Azure infrastructure to your AppHost project, even if the Azure service isn't directly exposed as an Aspire integration. It further shows how to flow the output of the Azure Container Registry into the environment of a dependent project. Consider the resulting Bicep file: diff --git a/docs/azure/integrations-overview.md b/docs/azure/integrations-overview.md index 80ce8b714a..010467dd71 100644 --- a/docs/azure/integrations-overview.md +++ b/docs/azure/integrations-overview.md @@ -334,4 +334,4 @@ To configure the Azure Container App environment, see [Configure Azure Container When you publish your app, the Azure provisioning generated Bicep is used by the Azure Developer CLI to create the Azure resources in your Azure subscription. Aspire outputs a [publishing manifest](../deployment/manifest-format.md), that's also a vital part of the publishing process. The Azure Developer CLI is a command-line tool that provides a set of commands to manage Azure resources. -For more information on publishing and deployment, see [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md). +For more information on publishing and deployment, see [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md). diff --git a/docs/caching/stackexchange-redis-caching-overview.md b/docs/caching/stackexchange-redis-caching-overview.md index 938e538956..a65cc7ccd6 100644 --- a/docs/caching/stackexchange-redis-caching-overview.md +++ b/docs/caching/stackexchange-redis-caching-overview.md @@ -10,7 +10,7 @@ ms.date: 02/05/2025 With Aspire, there are several ways to use caching in your applications. One popular option is to use [Stack Exchange Redis](https://stackexchange.github.io/StackExchange.Redis), which is a high-performance data store that can be used to store frequently accessed data. This article provides an overview of Stack Exchange Redis caching and links to resources that help you use it in your applications. -To use multiple Redis caching integrations in your application, see [Tutorial: Implement caching with Aspire integrations](caching-integrations.md). If you're interested in using the Redis Cache for Azure, see [Tutorial: Deploy a Aspire project with a Redis Cache to Azure](caching-integrations-deployment.md). +To use multiple Redis caching integrations in your application, see [Tutorial: Implement caching with Aspire integrations](caching-integrations.md). If you're interested in using the Redis Cache for Azure, see [Tutorial: Deploy an Aspire project with a Redis Cache to Azure](caching-integrations-deployment.md). ## Redis serialization protocol (RESP) diff --git a/docs/community-toolkit/dapr.md b/docs/community-toolkit/dapr.md index 2a9c199aab..93621e2eb7 100644 --- a/docs/community-toolkit/dapr.md +++ b/docs/community-toolkit/dapr.md @@ -1,6 +1,6 @@ --- title: NET Aspire Dapr integration -description: Learn how to use the Aspire Dapr integration, which can configure and orchestrate Dapr from a Aspire AppHost project. +description: Learn how to use the Aspire Dapr integration, which can configure and orchestrate Dapr from an Aspire AppHost project. ms.date: 05/12/2025 uid: frameworks/dapr --- @@ -74,7 +74,7 @@ For more information, see [dotnet add package](/dotnet/core/tools/dotnet-add-pac Dapr uses the [sidecar pattern](https://docs.dapr.io/concepts/dapr-services/sidecar/). The Dapr sidecar runs alongside your app as a lightweight, portable, and stateless HTTP server that listens for incoming HTTP requests from your app. -To add a sidecar to a Aspire resource, call the `WithDaprSidecar` method on it. The `appId` parameter is the unique identifier for the Dapr application, but it's optional. If you don't provide an `appId`, the parent resource name is used instead. +To add a sidecar to an Aspire resource, call the `WithDaprSidecar` method on it. The `appId` parameter is the unique identifier for the Dapr application, but it's optional. If you don't provide an `appId`, the parent resource name is used instead. :::code language="csharp" source="snippets/Dapr/Dapr.AppHost/AppHost.cs" range="1-7" highlight="7"::: @@ -86,7 +86,7 @@ The `WithDaprSidecar` method offers overloads to configure your Dapr sidecar opt ### Complete Dapr AppHost example -Putting everything together, consider the following example of a Aspire AppHost project that includes: +Putting everything together, consider the following example of an Aspire AppHost project that includes: - A backend API service that declares a Dapr sidecar with defaults. - A web frontend project that declares a Dapr sidecar with specific options, such as explict ports. diff --git a/docs/database/connect-to-existing-database.md b/docs/database/connect-to-existing-database.md index 1030cd7058..a558e0fb2a 100644 --- a/docs/database/connect-to-existing-database.md +++ b/docs/database/connect-to-existing-database.md @@ -1,17 +1,17 @@ --- -title: Connect a Aspire microservice to an existing database -description: Learn how to configure a Aspire solution with a connection to an existing database that isn't hosted in a Aspire container. +title: Connect an Aspire microservice to an existing database +description: Learn how to configure an Aspire solution with a connection to an existing database that isn't hosted in an Aspire container. ms.date: 03/13/2025 ms.topic: tutorial uid: database/connect-to-existing-database zone_pivot_groups: entity-framework-client-integration --- -# Tutorial: Connect a Aspire microservice to an existing database +# Tutorial: Connect an Aspire microservice to an existing database Aspire is designed to make it easy and quick to develop cloud-native solutions. It uses containers to host the services, such as databases, that underpin each microservice. However, if you want your microservice to query a database that already exists, you must connect your microservice to it instead of creating a database container whenever you run the solution. -In this tutorial, you create a Aspire solution with an API that connects to an existing database. You'll learn how to: +In this tutorial, you create an Aspire solution with an API that connects to an existing database. You'll learn how to: > [!div class="checklist"] > diff --git a/docs/database/entity-framework-core-integration-overview.md b/docs/database/entity-framework-core-integration-overview.md index d51640d0a7..5897f76bd1 100644 --- a/docs/database/entity-framework-core-integration-overview.md +++ b/docs/database/entity-framework-core-integration-overview.md @@ -574,7 +574,7 @@ In EF Core a context is relatively quick to create and dispose of so most applic Context pooling is a feature of EF Core. Contexts are created as normal but, when you dispose of one, it isn't destroyed but reset and stored in a pool. The next time your code creates a context, the stored one is returned to avoid the extra overhead of creating a new one. -In a Aspire consuming project, there are three ways to use context pooling: +In an Aspire consuming project, there are three ways to use context pooling: - Use the Aspire `Add\DbContext` methods to create the context. These methods create a context pool automatically. - Call the EF Core method instead of the EF Core method. diff --git a/docs/database/sql-server-integrations.md b/docs/database/sql-server-integrations.md index 211fa1363a..515ac0a2cf 100644 --- a/docs/database/sql-server-integrations.md +++ b/docs/database/sql-server-integrations.md @@ -7,12 +7,12 @@ ms.topic: tutorial # Tutorial: Connect an ASP.NET Core app to SQL Server using Aspire and Entity Framework Core -In this tutorial, you create an ASP.NET Core app that uses a Aspire Entity Framework Core SQL Server integration to connect to SQL Server to read and write support ticket data. [Entity Framework Core](/ef/core/) is a lightweight, extensible, open source object-relational mapper that enables .NET developers to work with databases using .NET objects. You'll learn how to: +In this tutorial, you create an ASP.NET Core app that uses an Aspire Entity Framework Core SQL Server integration to connect to SQL Server to read and write support ticket data. [Entity Framework Core](/ef/core/) is a lightweight, extensible, open source object-relational mapper that enables .NET developers to work with databases using .NET objects. You'll learn how to: > [!div class="checklist"] > > - Create a basic .NET app that is set up to use Aspire integrations -> - Add a Aspire integration to connect to SQL Server +> - Add an Aspire integration to connect to SQL Server > - Configure and use Aspire Component features to read and write from the database [!INCLUDE [aspire-prereqs](../includes/aspire-prereqs.md)] @@ -167,4 +167,4 @@ Let's examine how the data volume changes the behavior of the solution: - [Aspire with SQL Database deployment](sql-server-integration-deployment.md) - [Aspire deployment via Azure Container Apps](../deployment/azure/aca-deployment.md) -- [Deploy a Aspire project using GitHub Actions](../deployment/azure/aca-deployment-github-actions.md) +- [Deploy an Aspire project using GitHub Actions](../deployment/azure/aca-deployment-github-actions.md) diff --git a/docs/deployment/aspire-deploy/aca-deployment-aspire-cli.md b/docs/deployment/aspire-deploy/aca-deployment-aspire-cli.md index 22d81b303d..3696acba1b 100644 --- a/docs/deployment/aspire-deploy/aca-deployment-aspire-cli.md +++ b/docs/deployment/aspire-deploy/aca-deployment-aspire-cli.md @@ -5,9 +5,9 @@ ms.date: 09/25/2025 ai-usage: ai-assisted --- -# Deploy a Aspire project to Azure Container Apps using Aspire CLI +# Deploy an Aspire project to Azure Container Apps using Aspire CLI -The [`aspire deploy`](../../cli-reference/aspire-deploy.md) CLI command provides a streamlined way to deploy Aspire applications directly to Azure Container Apps. This command automates the entire deployment process, from building container images to provisioning Azure infrastructure and deploying your applications. This article walks you through using the `aspire deploy` command to deploy a Aspire solution to Container Apps. You'll learn how to complete the following tasks: +The [`aspire deploy`](../../cli-reference/aspire-deploy.md) CLI command provides a streamlined way to deploy Aspire applications directly to Azure Container Apps. This command automates the entire deployment process, from building container images to provisioning Azure infrastructure and deploying your applications. This article walks you through using the `aspire deploy` command to deploy an Aspire solution to Container Apps. You'll learn how to complete the following tasks: > [!div class="checklist"] > @@ -47,9 +47,9 @@ This command opens a web browser for you to sign in with your Azure credentials. - [Sign in with Azure CLI](/cli/azure/authenticate-azure-cli). - [The `aspire deploy` command reference](/dotnet/aspire/cli-reference/aspire-deploy). -## Create a Aspire project +## Create an Aspire project -As a starting point, this article assumes you've created a Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). +As a starting point, this article assumes you've created an Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). To configure your project for Azure Container Apps deployment, add a package reference to your AppHost project that includes the [`๐Ÿ“ฆAspire.Hosting.Azure.AppContainers](https://www.nuget.org/packages/Aspire.Hosting.Azure.AppContainers) NuGet package: diff --git a/docs/deployment/aspire-deploy/aca-deployment-visual-studio.md b/docs/deployment/aspire-deploy/aca-deployment-visual-studio.md index 3a0c893d6c..4f2b04784d 100644 --- a/docs/deployment/aspire-deploy/aca-deployment-visual-studio.md +++ b/docs/deployment/aspire-deploy/aca-deployment-visual-studio.md @@ -5,7 +5,7 @@ ms.date: 09/23/2025 ms.custom: sfi-image-nochange --- -# Deploy a Aspire project to Azure Container Apps using Visual Studio +# Deploy an Aspire project to Azure Container Apps using Visual Studio Aspire projects are designed to run in containerized environments. Azure Container Apps is a fully managed environment that enables you to run microservices and containerized applications on a serverless platform. This article will walk you through creating a new Aspire solution and deploying it to Microsoft Azure Container Apps using the Visual Studio. You'll learn how to complete the following tasks: @@ -19,9 +19,9 @@ Aspire projects are designed to run in containerized environments. Azure Contain [!INCLUDE [aspire-prereqs](../../includes/aspire-prereqs.md)] -## Create a Aspire project +## Create an Aspire project -As a starting point, this article assumes that you've created a Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). +As a starting point, this article assumes that you've created an Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). ### Resource naming diff --git a/docs/deployment/aspire-deploy/application-insights.md b/docs/deployment/aspire-deploy/application-insights.md index acc29d0903..ac763e15dd 100644 --- a/docs/deployment/aspire-deploy/application-insights.md +++ b/docs/deployment/aspire-deploy/application-insights.md @@ -79,7 +79,7 @@ builder.AddProject("webfrontend") builder.Build().Run(); ``` -Follow the steps in [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../azd/aca-deployment-azd-in-depth.md) to deploy the application to Azure Container Apps. `azd` will create an Application Insights resource as part of the same resource group, and configure the connection string for each container. +Follow the steps in [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../azd/aca-deployment-azd-in-depth.md) to deploy the application to Azure Container Apps. `azd` will create an Application Insights resource as part of the same resource group, and configure the connection string for each container. ### Manual provisioning of Application Insights resource diff --git a/docs/deployment/aspire-deploy/azure-security-best-practices.md b/docs/deployment/aspire-deploy/azure-security-best-practices.md index 9bd83b5f87..5b65c2a3da 100644 --- a/docs/deployment/aspire-deploy/azure-security-best-practices.md +++ b/docs/deployment/aspire-deploy/azure-security-best-practices.md @@ -19,7 +19,7 @@ When you deploy Aspire applications to Azure using the Aspire CLI or Azure Devel ## Default security posture -When you deploy a Aspire application to Azure Container Apps using `azd`, several security measures are automatically configured: +When you deploy an Aspire application to Azure Container Apps using `azd`, several security measures are automatically configured: ### Container-level security @@ -111,7 +111,7 @@ For comprehensive guidance on Azure security, see [Azure security best practices ## Next steps -- [Deploy a Aspire project to Azure Container Apps](../azd/aca-deployment.md) +- [Deploy an Aspire project to Azure Container Apps](../azd/aca-deployment.md) - [Customize Aspire Azure deployments](customize-deployments.md) - [Aspire Azure Key Vault integration](../../security/azure-security-key-vault-integration.md) - [User-assigned managed identity](../../azure/user-assigned-managed-identity.md) diff --git a/docs/deployment/aspire-deploy/caching-integrations-deployment.md b/docs/deployment/aspire-deploy/caching-integrations-deployment.md index 4cd172c954..e74794c2fc 100644 --- a/docs/deployment/aspire-deploy/caching-integrations-deployment.md +++ b/docs/deployment/aspire-deploy/caching-integrations-deployment.md @@ -1,13 +1,13 @@ --- -title: Deploy a Aspire project that connects to Redis Cache to Azure -description: Learn how to deploy a Aspire project that connects to Redis Cache to Azure +title: Deploy an Aspire project that connects to Redis Cache to Azure +description: Learn how to deploy an Aspire project that connects to Redis Cache to Azure ms.date: 09/30/2025 ms.topic: how-to --- -# Tutorial: Deploy a Aspire project with a Redis Cache to Azure +# Tutorial: Deploy an Aspire project with a Redis Cache to Azure -In this tutorial, you learn to configure a Aspire project with a Redis Cache for deployment to Azure. Aspire provides multiple caching integration configurations that provision different Redis services in Azure. You'll learn how to: +In this tutorial, you learn to configure an Aspire project with a Redis Cache for deployment to Azure. Aspire provides multiple caching integration configurations that provision different Redis services in Azure. You'll learn how to: > [!div class="checklist"] > @@ -150,4 +150,4 @@ The deployment process created a Redis app container due to the **.AppHost** con - [Aspire deployment via Azure Container Apps](../azd/aca-deployment.md) - [Aspire Azure Container Apps deployment deep dive](../azd/aca-deployment-azd-in-depth.md) -- [Deploy a Aspire project using GitHub Actions](../azd/aca-deployment-github-actions.md) +- [Deploy an Aspire project using GitHub Actions](../azd/aca-deployment-github-actions.md) diff --git a/docs/deployment/aspire-deploy/sql-server-integration-deployment.md b/docs/deployment/aspire-deploy/sql-server-integration-deployment.md index 646aa8de2d..8f3f1e8010 100644 --- a/docs/deployment/aspire-deploy/sql-server-integration-deployment.md +++ b/docs/deployment/aspire-deploy/sql-server-integration-deployment.md @@ -1,11 +1,11 @@ --- -title: Deploy a Aspire project with a SQL Server Database to Azure -description: Learn how to deploy a Aspire app with a SQL Server Database that connects to Azure +title: Deploy an Aspire project with a SQL Server Database to Azure +description: Learn how to deploy an Aspire app with a SQL Server Database that connects to Azure ms.date: 11/08/2024 ms.topic: how-to --- -# Tutorial: Deploy a Aspire project with a SQL Server Database to Azure +# Tutorial: Deploy an Aspire project with a SQL Server Database to Azure In this tutorial, you learn to configure an ASP.NET Core app with a SQL Server Database for deployment to Azure. Aspire provides multiple SQL Server integration configurations that provision different database services in Azure. You'll learn how to: @@ -148,6 +148,6 @@ The deployment process created a SQL Server app container due to the **.AppHost* ## See also -- [Deploy a Aspire project to Azure Container Apps](../azd/aca-deployment.md) -- [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../azd/aca-deployment-azd-in-depth.md) -- [Tutorial: Deploy a Aspire project using the Azure Developer CLI](../azd/aca-deployment-github-actions.md) +- [Deploy an Aspire project to Azure Container Apps](../azd/aca-deployment.md) +- [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../azd/aca-deployment-azd-in-depth.md) +- [Tutorial: Deploy an Aspire project using the Azure Developer CLI](../azd/aca-deployment-github-actions.md) diff --git a/docs/deployment/azd/aca-deployment-azd-in-depth.md b/docs/deployment/azd/aca-deployment-azd-in-depth.md index 9a608dab0e..777a532241 100644 --- a/docs/deployment/azd/aca-deployment-azd-in-depth.md +++ b/docs/deployment/azd/aca-deployment-azd-in-depth.md @@ -1,5 +1,5 @@ --- -title: Deploy a Aspire project to Azure Container Apps using `azd` (in-depth guide) +title: Deploy an Aspire project to Azure Container Apps using `azd` (in-depth guide) description: Learn how to use `azd` to deploy Aspire projects to Azure Container Apps. ms.date: 07/17/2025 ms.custom: @@ -8,14 +8,14 @@ ms.custom: - sfi-ropc-nochange --- -# Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide) +# Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide) -The Azure Developer CLI (`azd`) has been extended to support deploying Aspire projects. Use this guide to walk through the process of creating and deploying a Aspire project to Azure Container Apps using the Azure Developer CLI. In this tutorial, you'll learn the following concepts: +The Azure Developer CLI (`azd`) has been extended to support deploying Aspire projects. Use this guide to walk through the process of creating and deploying an Aspire project to Azure Container Apps using the Azure Developer CLI. In this tutorial, you'll learn the following concepts: > [!div class="checklist"] > > - Explore how `azd` integration works with Aspire projects -> - Provision and deploy resources on Azure for a Aspire project using `azd` +> - Provision and deploy resources on Azure for an Aspire project using `azd` > - Generate Bicep infrastructure and other template files using `azd` [!INCLUDE [aspire-prereqs](../../includes/aspire-prereqs.md)] @@ -48,7 +48,7 @@ The `azd init` workflow provides customized support for Aspire projects. The fol :::image type="content" source="../media/azd-internals.png" alt-text="Illustration of internal processing of `azd` when deploying Aspire project."::: -1. When `azd` targets a Aspire project it starts the AppHost with a special command (`dotnet run --project AppHost.csproj --output-path manifest.json --publisher manifest`), which produces the Aspire [manifest file](../manifest-format.md). +1. When `azd` targets an Aspire project it starts the AppHost with a special command (`dotnet run --project AppHost.csproj --output-path manifest.json --publisher manifest`), which produces the Aspire [manifest file](../manifest-format.md). 1. The manifest file is interrogated by the `azd provision` sub-command logic to generate Bicep files in-memory only (by default). 1. After generating the Bicep files, a deployment is triggered using Azure's ARM APIs targeting the subscription and resource group provided earlier. 1. Once the underlying Azure resources are configured, the `azd deploy` sub-command logic is executed which uses the same Aspire manifest file. @@ -59,9 +59,9 @@ The `azd init` workflow provides customized support for Aspire projects. The fol > [!NOTE] > `azd` also enables you to output the generated Bicep to an `infra` folder in your project, which you can read more about in the [Generating Bicep from Aspire app model](/dotnet/aspire/deployment/azure/aca-deployment-azd-in-depth?branch=main#generate-bicep-from-net-aspire-app-model) section. -## Provision and deploy a Aspire starter app +## Provision and deploy an Aspire starter app -The steps in this section demonstrate how to create a Aspire start app and handle provisioning and deploying the app resources to Azure using `azd`. +The steps in this section demonstrate how to create an Aspire start app and handle provisioning and deploying the app resources to Azure using `azd`. ### Create the Aspire starter app @@ -158,7 +158,7 @@ For more information, see [Azure Developer CLI reference: azd deploy](/azure/dev ### Deploy infrastructure updates -Whenever the dependency structure within a Aspire project changes, `azd` must re-provision the underlying Azure resources. The `azd provision` command is used to apply these changes to the infrastructure. +Whenever the dependency structure within an Aspire project changes, `azd` must re-provision the underlying Azure resources. The `azd provision` command is used to apply these changes to the infrastructure. To see this in action, update the _:::no-loc text="AppHost.cs":::_ file in the AppHost project to the following: diff --git a/docs/deployment/azd/aca-deployment-github-actions.md b/docs/deployment/azd/aca-deployment-github-actions.md index 4a3f4a91a0..b1d6e834e0 100644 --- a/docs/deployment/azd/aca-deployment-github-actions.md +++ b/docs/deployment/azd/aca-deployment-github-actions.md @@ -1,5 +1,5 @@ --- -title: Deploy a Aspire project using the Azure Developer CLI +title: Deploy an Aspire project using the Azure Developer CLI description: Learn how to use `azd` to deploy Aspire projects. ms.date: 07/17/2025 zone_pivot_groups: deployment-platform @@ -8,14 +8,14 @@ ms.custom: - sfi-image-nochange --- -# Tutorial: Deploy a Aspire project using the Azure Developer CLI +# Tutorial: Deploy an Aspire project using the Azure Developer CLI -The Azure Developer CLI (`azd`) enables you to deploy Aspire projects using GitHub Actions or Azure Devops pipelines by automatically configuring the required authentication and environment settings. This article walks you through the process of creating and deploying a Aspire project on Azure Container Apps using `azd`. You learn the following concepts: +The Azure Developer CLI (`azd`) enables you to deploy Aspire projects using GitHub Actions or Azure Devops pipelines by automatically configuring the required authentication and environment settings. This article walks you through the process of creating and deploying an Aspire project on Azure Container Apps using `azd`. You learn the following concepts: > [!div class="checklist"] > > - Explore how `azd` integration works with Aspire projects -> - Create and configure a GitHub or Azure DevOps repository for a Aspire project using `azd` +> - Create and configure a GitHub or Azure DevOps repository for an Aspire project using `azd` > - Monitor and explore GitHub Actions workflow or Azure DevOps pipeline executions and Azure deployments [!INCLUDE [aspire-prereqs](../../includes/aspire-prereqs.md)] @@ -55,9 +55,9 @@ curl -fsSL https://aka.ms/install-azd.sh | bash --- -## Create a Aspire solution +## Create an Aspire solution -As a starting point, this article assumes that you've created a Aspire solution from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire app](../../get-started/build-your-first-aspire-app.md). +As a starting point, this article assumes that you've created an Aspire solution from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire app](../../get-started/build-your-first-aspire-app.md). [!INCLUDE [init workflow](../includes/init-workflow.md)] @@ -102,7 +102,7 @@ The Azure Developer CLI enables you to automatically create CI/CD pipelines with :::image type="content" loc-scope="github" source="../media/deployment-links.png" alt-text="A screenshot showing the deployed app links."::: -Congratulations! You successfully deployed a Aspire project using the Azure Developer CLI and GitHub Actions. +Congratulations! You successfully deployed an Aspire project using the Azure Developer CLI and GitHub Actions. ## Configure working directory for multi-project solutions @@ -247,7 +247,7 @@ The Azure Developer CLI enables you to automatically create pipelines with the c > [!IMPORTANT] > If you encounter a `403 Forbidden` error when viewing your site in the browser, make sure the ingress settings are configured correctly. On the **webfrontend** app page in the Azure Portal, navigate to **Ingress** on the left navigation. Make sure **Ingress traffic** is set to **Accepting traffic from anywhere** and save your changes. -Congratulations! You successfully deployed a Aspire project using the Azure Developer CLI and Azure Pipelines. +Congratulations! You successfully deployed an Aspire project using the Azure Developer CLI and Azure Pipelines. ## Troubleshoot Azure DevOps pipeline deployment diff --git a/docs/deployment/azd/aca-deployment.md b/docs/deployment/azd/aca-deployment.md index bcdcb814da..918ac207e1 100644 --- a/docs/deployment/azd/aca-deployment.md +++ b/docs/deployment/azd/aca-deployment.md @@ -5,7 +5,7 @@ ms.date: 07/17/2025 ms.custom: devx-track-extended-azdevcli --- -# Deploy a Aspire project to Azure Container Apps +# Deploy an Aspire project to Azure Container Apps Aspire projects are designed to run in containerized environments. Azure Container Apps is a fully managed environment that enables you to run microservices and containerized applications on a serverless platform. This article will walk you through creating a new Aspire solution and deploying it to Microsoft Azure Container Apps using the Azure Developer CLI (`azd`). You'll learn how to complete the following tasks: @@ -19,15 +19,15 @@ Aspire projects are designed to run in containerized environments. Azure Contain [!INCLUDE [aspire-prereqs](../../includes/aspire-prereqs.md)] -As an alternative to this tutorial and for a more in-depth guide, see [Deploy a Aspire project to Azure Container Apps using `azd` (in-depth guide)](aca-deployment-azd-in-depth.md). +As an alternative to this tutorial and for a more in-depth guide, see [Deploy an Aspire project to Azure Container Apps using `azd` (in-depth guide)](aca-deployment-azd-in-depth.md). ## Deploy Aspire projects with `azd` With Aspire and Azure Container Apps (ACA), you have a great hosting scenario for building out your cloud-native apps with .NET. We built some great new features into the Azure Developer CLI (`azd`) specific for making Aspire development and deployment to Azure a friction-free experience. For production scenarios that require granular control over infrastructure, see [Customize Aspire Azure deployments](customize-deployments.md). But for new projects, you won't find an easier path to success for getting a new microservice topology deployed into the cloud. -## Create a Aspire project +## Create an Aspire project -As a starting point, this article assumes that you've created a Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). +As a starting point, this article assumes that you've created an Aspire project from the **Aspire Starter Application** template. For more information, see [Quickstart: Build your first Aspire project](../../get-started/build-your-first-aspire-app.md). ### Resource naming diff --git a/docs/deployment/azd/customize-deployments.md b/docs/deployment/azd/customize-deployments.md index d104729c21..00090531d7 100644 --- a/docs/deployment/azd/customize-deployments.md +++ b/docs/deployment/azd/customize-deployments.md @@ -253,6 +253,6 @@ param location string ## Next steps -- [Deploy a Aspire project to Azure Container Apps using azd](aca-deployment.md) +- [Deploy an Aspire project to Azure Container Apps using azd](aca-deployment.md) - [Azure Container Apps with azd (In-depth)](aca-deployment-azd-in-depth.md) - [Deploy using azd and CI/CD](aca-deployment-github-actions.md) diff --git a/docs/deployment/manifest-format.md b/docs/deployment/manifest-format.md index 06d83f0c29..6fc40d16fc 100644 --- a/docs/deployment/manifest-format.md +++ b/docs/deployment/manifest-format.md @@ -17,7 +17,7 @@ Aspire [simplifies the local development experience](../fundamentals/networking- ## Generate a manifest A valid Aspire project is required to generate a manifest. To get started, create -a Aspire project using the `aspire-starter` .NET template: +an Aspire project using the `aspire-starter` .NET template: ```dotnetcli dotnet new aspire-starter --use-redis-cache ` @@ -177,7 +177,7 @@ Placeholder strings reference the structure of the Aspire manifest: The final segment of the placeholder string (`url` in this case) is generated by the tool processing the manifest. There are several suffixes that could be used on the placeholder string: -- `connectionString`: For well-known resource types such as Redis. Deployment tools translate the resource in the most appropriate infrastructure for the target cloud environment and then produce a Aspire compatible connection string for the consuming application to use. On `container.v0` resources the `connectionString` field may be present and specified explicitly. This is to support scenarios where a container resource type is referenced using the extension but is desired to be hosted explicitly as a container. +- `connectionString`: For well-known resource types such as Redis. Deployment tools translate the resource in the most appropriate infrastructure for the target cloud environment and then produce an Aspire compatible connection string for the consuming application to use. On `container.v0` resources the `connectionString` field may be present and specified explicitly. This is to support scenarios where a container resource type is referenced using the extension but is desired to be hosted explicitly as a container. - `url`: For service-to-service references where a well-formed URL is required. The deployment tool produces the `url` based on the scheme, protocol, and transport defined in the manifest and the underlying compute/networking topology that was deployed. - `host`: The host segment of the URL. - `port`: The port segment of the URL. @@ -909,7 +909,7 @@ The [Azure Developer CLI](/azure/developer/azure-developer-cli/) (azd) is a tool | Postgres | | `AddAzurePostgresFlexibleServer` | | SQL Server | | `AddAzureSqlServer` | -When resources as configured as Azure resources, the `azure.bicep.v0` resource type is generated in the manifest. For more information, see [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](azure/aca-deployment-azd-in-depth.md). +When resources as configured as Azure resources, the `azure.bicep.v0` resource type is generated in the manifest. For more information, see [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](azure/aca-deployment-azd-in-depth.md). ## See also diff --git a/docs/diagnostics/aspire003.md b/docs/diagnostics/aspire003.md index ca9d8c14ff..685fcf1985 100644 --- a/docs/diagnostics/aspire003.md +++ b/docs/diagnostics/aspire003.md @@ -1,6 +1,6 @@ --- title: Compiler Warning ASPIRE003 -description: Learn more about compiler Warning ASPIRE003. Project is a Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. +description: Learn more about compiler Warning ASPIRE003. Project is an Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. ms.date: 05/08/2025 f1_keywords: - "ASPIRE003" @@ -12,7 +12,7 @@ helpviewer_keywords: **Version introduced:** 8.0.0 -> 'Project' is a Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. +> 'Project' is an Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. When using Visual Studio to code your Aspire project, you must have Visual Studio 2022 version 17.10 or later. diff --git a/docs/diagnostics/overview.md b/docs/diagnostics/overview.md index c34342d40f..d0ae8596e3 100644 --- a/docs/diagnostics/overview.md +++ b/docs/diagnostics/overview.md @@ -13,7 +13,7 @@ The following table lists the possible MSBuild and .NET Analyzer warnings and er |--|--|--| | [`ASPIRE001`](aspire001.md) | Warning | The code language isn't fully supported by Aspire, some code generation targets will not run. | | [`ASPIRE002`](aspire002.md) | Warning | Project is an Aspire AppHost project but necessary dependencies aren't present. Are you missing an Aspire.Hosting.AppHost PackageReference? | -| [`ASPIRE003`](aspire003.md) | Warning | 'Project' is a Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. | +| [`ASPIRE003`](aspire003.md) | Warning | 'Project' is an Aspire AppHost project that requires Visual Studio version 17.10 or above to work correctly. | | [`ASPIRE004`](aspire004.md) | Warning | 'Project' is referenced by an Aspire Host project, but it is not an executable. | | [`ASPIRE006`](aspire006.md) | (Experimental) Error | Application model items must have valid names. | | [`ASPIRE007`](aspire007.md) | Error | 'Project' requires a reference to "Aspire.AppHost.Sdk" with version "9.0.0" or greater to work correctly. | diff --git a/docs/extensibility/custom-client-integration.md b/docs/extensibility/custom-client-integration.md index 1206232591..799f049e19 100644 --- a/docs/extensibility/custom-client-integration.md +++ b/docs/extensibility/custom-client-integration.md @@ -8,7 +8,7 @@ ms.custom: sfi-ropc-nochange # Create custom Aspire client integrations -This article is a continuation of the [Create custom Aspire hosting integrations](custom-hosting-integration.md) article. It guides you through creating a Aspire client integration that uses [MailKit](https://github.com/jstedfast/MailKit) to send emails. This integration is then added into the Newsletter app you previously built. The previous example omitted the creation of a client integration and instead relied on the existing .NET `SmtpClient`. It's best to use MailKit's `SmtpClient` over the official .NET `SmtpClient` for sending emails, as it's more modern and supports more features/protocols. For more information, see [.NET SmtpClient: Remarks](/dotnet/api/system.net.mail.smtpclient#remarks). +This article is a continuation of the [Create custom Aspire hosting integrations](custom-hosting-integration.md) article. It guides you through creating an Aspire client integration that uses [MailKit](https://github.com/jstedfast/MailKit) to send emails. This integration is then added into the Newsletter app you previously built. The previous example omitted the creation of a client integration and instead relied on the existing .NET `SmtpClient`. It's best to use MailKit's `SmtpClient` over the official .NET `SmtpClient` for sending emails, as it's more modern and supports more features/protocols. For more information, see [.NET SmtpClient: Remarks](/dotnet/api/system.net.mail.smtpclient#remarks). ## Prerequisites @@ -39,7 +39,7 @@ The next step is to add all the NuGet packages that the integration relies on. R ## Define integration settings -Whenever you're creating a Aspire integration, it's best to understand the client library that you're mapping to. With MailKit, you need to understand the configuration settings that are required to connect to a Simple Mail Transfer Protocol (SMTP) server. But it's also important to understand if the library has support for _health checks_, _tracing_ and _metrics_. MailKit supports _tracing_ and _metrics_, through its [`Telemetry.SmtpClient` class](https://github.com/jstedfast/MailKit/blob/master/MailKit/Telemetry.cs#L112-L189). When adding _health checks_, you should use any established or existing health checks where possible. Otherwise, you might consider implementing your own in the integration. Add the following code to the `MailKit.Client` project in a file named _MailKitClientSettings.cs_: +Whenever you're creating an Aspire integration, it's best to understand the client library that you're mapping to. With MailKit, you need to understand the configuration settings that are required to connect to a Simple Mail Transfer Protocol (SMTP) server. But it's also important to understand if the library has support for _health checks_, _tracing_ and _metrics_. MailKit supports _tracing_ and _metrics_, through its [`Telemetry.SmtpClient` class](https://github.com/jstedfast/MailKit/blob/master/MailKit/Telemetry.cs#L112-L189). When adding _health checks_, you should use any established or existing health checks where possible. Otherwise, you might consider implementing your own in the integration. Add the following code to the `MailKit.Client` project in a file named _MailKitClientSettings.cs_: :::code source="snippets/MailDevResourceAndComponent/MailKit.Client/MailKitClientSettings.cs"::: @@ -195,7 +195,7 @@ Open up the Swagger UI again, and make some requests to the `/subscribe` and `/u ## Summary -In this article, you learned how to create a Aspire integration that uses MailKit to send emails. You also learned how to integrate this integration into the Newsletter app you previously built. You learned about the core principles of Aspire integrations, such as exposing the underlying client library to consumers through dependency injection, and how to add health checks and telemetry to the integration. You also learned how to update the Newsletter service to use the MailKit client. +In this article, you learned how to create an Aspire integration that uses MailKit to send emails. You also learned how to integrate this integration into the Newsletter app you previously built. You learned about the core principles of Aspire integrations, such as exposing the underlying client library to consumers through dependency injection, and how to add health checks and telemetry to the integration. You also learned how to update the Newsletter service to use the MailKit client. Go forth and build your own Aspire integrations. If you believe that there's enough community value in the integration you're building, consider publishing it as a [NuGet package](/dotnet/standard/library-guidance/nuget) for others to use. Furthermore, consider submitting a pull request to the [Aspire GitHub repository](https://github.com/dotnet/aspire) for consideration to be included in the official Aspire integrations. diff --git a/docs/extensibility/custom-hosting-integration.md b/docs/extensibility/custom-hosting-integration.md index dd1bb2ee81..d5039d5e3e 100644 --- a/docs/extensibility/custom-hosting-integration.md +++ b/docs/extensibility/custom-hosting-integration.md @@ -32,7 +32,7 @@ In the preceding code there are four resources represented: Most Aspire-related code that the average developer writes, centers around adding resources to the [app model](../fundamentals/app-host-overview.md) and creating references between them. -## Key elements of a Aspire custom resource +## Key elements of an Aspire custom resource Building a custom resource in Aspire requires the following: diff --git a/docs/frameworks/orleans.md b/docs/frameworks/orleans.md index 9154bae0b0..f35de528f5 100644 --- a/docs/frameworks/orleans.md +++ b/docs/frameworks/orleans.md @@ -1,6 +1,6 @@ --- title: Aspire Orleans integration -description: Learn how to use the Aspire Orleans hosting integration, which can configure and orchestrate Orleans from a Aspire AppHost project. +description: Learn how to use the Aspire Orleans hosting integration, which can configure and orchestrate Orleans from an Aspire AppHost project. ms.date: 11/05/2024 uid: frameworks/orleans --- @@ -43,9 +43,9 @@ In your AppHost project, call [!div class="checklist"] > diff --git a/docs/fundamentals/dashboard/explore.md b/docs/fundamentals/dashboard/explore.md index ce645e8fd0..6c1b58c240 100644 --- a/docs/fundamentals/dashboard/explore.md +++ b/docs/fundamentals/dashboard/explore.md @@ -8,7 +8,7 @@ ai-usage: ai-assisted # Explore the Aspire dashboard -In the upcoming sections, you discover how to create a Aspire project and embark on the following tasks: +In the upcoming sections, you discover how to create an Aspire project and embark on the following tasks: > [!div class="checklist"] > @@ -22,7 +22,7 @@ The Aspire dashboard also includes **GitHub Copilot**, your AI debugging assista ## Dashboard authentication -When you run a Aspire AppHost, the orchestrator starts up all the app's dependent resources and then opens a browser window to the dashboard. The Aspire dashboard requires token-based authentication for its users because it displays environment variables and other sensitive information. +When you run an Aspire AppHost, the orchestrator starts up all the app's dependent resources and then opens a browser window to the dashboard. The Aspire dashboard requires token-based authentication for its users because it displays environment variables and other sensitive information. When the dashboard is launched from Visual Studio or Visual Studio Code (with the [C# Dev Kit extension](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit)), the browser is automatically logged in, and the dashboard opens directly. This is the typical developer F5 experience, and the authentication login flow is automated by the Aspire tooling. @@ -160,11 +160,11 @@ The search bar in the upper right of the dashboard also provides the option to f :::image type="content" source="media/explore/select-resource-type.png" alt-text="A screenshot of the resource type selector list in the Aspire dashboard Resources page."::: -In this example, only containers are displayed in the list. For example, if you enable **Use Redis for caching** when creating a Aspire project, you should see a Redis container listed: +In this example, only containers are displayed in the list. For example, if you enable **Use Redis for caching** when creating an Aspire project, you should see a Redis container listed: :::image type="content" source="media/explore/resources-filtered-containers.png" lightbox="media/explore/resources-filtered-containers.png" alt-text="A screenshot of the Aspire dashboard Resources page filtered to show only containers."::: -Executables are stand-alone processes. You can configure a Aspire project to run a stand-alone executable during startup, though the default starter templates don't include any executables by default. +Executables are stand-alone processes. You can configure an Aspire project to run a stand-alone executable during startup, though the default starter templates don't include any executables by default. The following screenshot shows an example of a project that has errors: @@ -411,7 +411,7 @@ For more information, see [OpenTelemetry Docs: Exemplars](https://opentelemetry. ### Interact with telemetry -Telemetry information is generated continuously while you run a Aspire application and it can flood the dashboard with information. The dashboard includes tools you can use to reduce the amount of data displayed in monitoring pages and make it easier to target specific events. +Telemetry information is generated continuously while you run an Aspire application and it can flood the dashboard with information. The dashboard includes tools you can use to reduce the amount of data displayed in monitoring pages and make it easier to target specific events. #### Pause telemetry output diff --git a/docs/fundamentals/integrations-overview.md b/docs/fundamentals/integrations-overview.md index 137deb957a..b2def17dff 100644 --- a/docs/fundamentals/integrations-overview.md +++ b/docs/fundamentals/integrations-overview.md @@ -108,7 +108,7 @@ This distinction helps you model your application's infrastructure accurately an ## Versioning considerations -Hosting and client integrations are updated each release to target the latest stable versions of dependent resources. When container images are updated with new image versions, the hosting integrations update to these new versions. Similarly, when a new NuGet version is available for a dependent client library, the corresponding client integration updates to the new version. This ensures the latest features and security updates are available to applications. The Aspire update type (major, minor, patch) doesn't necessarily indicate the type of update in dependent resources. For example, a new major version of a dependent resource may be updated in a Aspire patch release, if necessary. +Hosting and client integrations are updated each release to target the latest stable versions of dependent resources. When container images are updated with new image versions, the hosting integrations update to these new versions. Similarly, when a new NuGet version is available for a dependent client library, the corresponding client integration updates to the new version. This ensures the latest features and security updates are available to applications. The Aspire update type (major, minor, patch) doesn't necessarily indicate the type of update in dependent resources. For example, a new major version of a dependent resource may be updated in an Aspire patch release, if necessary. When major breaking changes happen in dependent resources, integrations may temporarily split into version-dependent packages to ease updating across the breaking change. For more information, see the [first example of such a breaking change](https://github.com/dotnet/aspire/issues/3956). @@ -124,7 +124,7 @@ The following section details cloud-agnostic Aspire integrations with links to t | Integration docs and NuGet packages | Description | |--|--| | - **Learn more**: [๐Ÿ“„ Apache Kafka](../messaging/kafka-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Kafka](https://www.nuget.org/packages/Aspire.Hosting.Kafka)
- **Client**: [๐Ÿ“ฆ Aspire.Confluent.Kafka](https://www.nuget.org/packages/Aspire.Confluent.Kafka) | A library for producing and consuming messages from an [Apache Kafka](https://kafka.apache.org/) broker. | -| - **Learn more**: [๐Ÿ“„ Dapr](../frameworks/dapr.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Dapr](https://www.nuget.org/packages/Aspire.Hosting.Dapr)
- **Client**: N/A | A library for modeling [Dapr](https://dapr.io/) as a Aspire resource. | +| - **Learn more**: [๐Ÿ“„ Dapr](../frameworks/dapr.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Dapr](https://www.nuget.org/packages/Aspire.Hosting.Dapr)
- **Client**: N/A | A library for modeling [Dapr](https://dapr.io/) as an Aspire resource. | | - **Learn more**: [๐Ÿ“„ Docker](../deployment/docker-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Docker](https://www.nuget.org/packages/Aspire.Hosting.Docker)
- **Client**: N/A | A library for deploying Aspire applications using Docker Compose. | | - **Learn more**: [๐Ÿ“„ Elasticsearch](../search/elasticsearch-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Elasticsearch](https://www.nuget.org/packages/Aspire.Hosting.Elasticsearch)
- **Client**: [๐Ÿ“ฆ Aspire.Elastic.Clients.Elasticsearch](https://www.nuget.org/packages/Aspire.Elastic.Clients.Elasticsearch) | A library for accessing [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/client/index.html) databases. | | - **Learn more**: [๐Ÿ“„ Keycloak](../authentication/keycloak-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Keycloak](https://www.nuget.org/packages/Aspire.Hosting.Keycloak)
- **Client**: [๐Ÿ“ฆ Aspire.Keycloak.Authentication](https://www.nuget.org/packages/Aspire.Keycloak.Authentication) | A library for accessing [Keycloak](https://www.keycloak.org/docs/latest/server_admin/index.html) authentication. | @@ -134,7 +134,7 @@ The following section details cloud-agnostic Aspire integrations with links to t | - **Learn more**: [๐Ÿ“„ NATS](../messaging/nats-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Nats](https://www.nuget.org/packages/Aspire.Hosting.Nats)
- **Client**: [๐Ÿ“ฆ Aspire.NATS.Net](https://www.nuget.org/packages/Aspire.NATS.Net) | A library for accessing [NATS](https://nats.io/) messaging. | | - **Learn more**: [๐Ÿ“„ Oracle - EF Core](../database/oracle-entity-framework-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Oracle](https://www.nuget.org/packages/Aspire.Hosting.Oracle)
- **Client**: [๐Ÿ“ฆ Aspire.Oracle.EntityFrameworkCore](https://www.nuget.org/packages/Aspire.Oracle.EntityFrameworkCore) | A library for accessing Oracle databases with [Entity Framework Core](/ef/core). | | - **Learn more**: [๐Ÿ“„ OpenAI](../openai/openai-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.OpenAI](https://www.nuget.org/packages/Aspire.Hosting.OpenAI)
- **Client**: [๐Ÿ“ฆ Aspire.OpenAI](https://www.nuget.org/packages/Aspire.OpenAI) | A library for accessing [OpenAI](https://platform.openai.com/docs) APIs. | -| - **Learn more**: [๐Ÿ“„ Orleans](../frameworks/Orleans.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Orleans](https://www.nuget.org/packages/Aspire.Hosting.Orleans)
- **Client**: N/A | A library for modeling [Orleans](/dotnet/Orleans) as a Aspire resource. | +| - **Learn more**: [๐Ÿ“„ Orleans](../frameworks/Orleans.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.Orleans](https://www.nuget.org/packages/Aspire.Hosting.Orleans)
- **Client**: N/A | A library for modeling [Orleans](/dotnet/Orleans) as an Aspire resource. | | - **Learn more**: [๐Ÿ“„ Pomelo MySQL - EF Core](../database/mysql-entity-framework-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.MySql](https://www.nuget.org/packages/Aspire.Hosting.MySql)
- **Client**: [๐Ÿ“ฆ Aspire.Pomelo.EntityFrameworkCore.MySql](https://www.nuget.org/packages/Aspire.Pomelo.EntityFrameworkCore.MySql) | A library for accessing MySql databases with [Entity Framework Core](/ef/core). | | - **Learn more**: [๐Ÿ“„ PostgreSQL - EF Core](../database/postgresql-entity-framework-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.PostgreSQL](https://www.nuget.org/packages/Aspire.Hosting.PostgreSQL)
- **Client**: [๐Ÿ“ฆ Aspire.Npgsql.EntityFrameworkCore.PostgreSQL](https://www.nuget.org/packages/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL) | A library for accessing PostgreSQL databases using [Entity Framework Core](https://www.npgsql.org/efcore/index.html). | | - **Learn more**: [๐Ÿ“„ PostgreSQL](../database/postgresql-integration.md)
- **Hosting**: [๐Ÿ“ฆ Aspire.Hosting.PostgreSQL](https://www.nuget.org/packages/Aspire.Hosting.PostgreSQL)
- **Client**: [๐Ÿ“ฆ Aspire.Npgsql](https://www.nuget.org/packages/Aspire.Npgsql) | A library for accessing [PostgreSQL](https://www.npgsql.org/doc/index.html) databases. | diff --git a/docs/fundamentals/networking-overview.md b/docs/fundamentals/networking-overview.md index 526562af28..c3067529b1 100644 --- a/docs/fundamentals/networking-overview.md +++ b/docs/fundamentals/networking-overview.md @@ -24,7 +24,7 @@ A service binding in Aspire involves two integrations: a **service** representin Aspire supports two service binding types: **implicit**, automatically created based on specified launch profiles defining app behavior in different environments, and **explicit**, manually created using . -Upon creating a binding, whether implicit or explicit, Aspire launches a lightweight reverse proxy on a specified port, handling routing and load balancing for requests from your app to the service. The proxy is a Aspire implementation detail, requiring no configuration or management concern. +Upon creating a binding, whether implicit or explicit, Aspire launches a lightweight reverse proxy on a specified port, handling routing and load balancing for requests from your app to the service. The proxy is an Aspire implementation detail, requiring no configuration or management concern. To help visualize how endpoints work, consider the Aspire starter templates inner-loop networking diagram: diff --git a/docs/fundamentals/orchestrate-resources.md b/docs/fundamentals/orchestrate-resources.md index 84debe0d44..4c50f3a659 100644 --- a/docs/fundamentals/orchestrate-resources.md +++ b/docs/fundamentals/orchestrate-resources.md @@ -19,7 +19,7 @@ For the fundamentals of Aspire orchestration and how it manages resources, see [ ## Resource naming conventions -Resources in Aspire must follow naming restrictions set by Aspire and the technology that resource represents. For example, a Aspire resource has a maximum name length of 64 characters, but an Azure Container App has a maximum length of 32. When you publish the Aspire container resource for Azure, the name must not exceed 32 characters in length. +Resources in Aspire must follow naming restrictions set by Aspire and the technology that resource represents. For example, an Aspire resource has a maximum name length of 64 characters, but an Azure Container App has a maximum length of 32. When you publish the Aspire container resource for Azure, the name must not exceed 32 characters in length. Aspire resource names must follow these basic rules: diff --git a/docs/fundamentals/persist-data-volumes.md b/docs/fundamentals/persist-data-volumes.md index 1adb8f196b..f5cdae05a2 100644 --- a/docs/fundamentals/persist-data-volumes.md +++ b/docs/fundamentals/persist-data-volumes.md @@ -8,13 +8,13 @@ uid: fundamentals/persist-data-volumes # Persist Aspire project data using volumes or bind mounts -Every time you start and stop a Aspire project, the app also creates and destroys the app resource containers. Any data or files stored in those containers during a debugging session is lost for subsequent sessions. Many development teams prefer to keep this data across debugging sessions so that, for example, they don't have to repopulate a database with sample data for each run. +Every time you start and stop an Aspire project, the app also creates and destroys the app resource containers. Any data or files stored in those containers during a debugging session is lost for subsequent sessions. Many development teams prefer to keep this data across debugging sessions so that, for example, they don't have to repopulate a database with sample data for each run. In this article, you learn how to configure Aspire projects to persist data across app launches. A continuous set of data during local development is useful in many scenarios. Various Aspire resource container types are able to leverage volumes and bind mounts, such as PostgreSQL, Redis and Azure Storage. ## When to persist project data -Suppose you have a Aspire solution with a database resource. By default, data is saved in the container for that resource. Because all the resource containers are destroyed when you stop your app, you lose that data and won't see it the next time you run the solution. This setup creates problems when you want to persist data in a database or storage services between app launches for testing or debugging. For example, you may want to: +Suppose you have an Aspire solution with a database resource. By default, data is saved in the container for that resource. Because all the resource containers are destroyed when you stop your app, you lose that data and won't see it the next time you run the solution. This setup creates problems when you want to persist data in a database or storage services between app launches for testing or debugging. For example, you may want to: - Work with a continuous set of data in a database during an extended development session across multiple restarts. - Test or debug a changing set of files in an Azure Blob Storage emulator. @@ -42,7 +42,7 @@ Volumes are the recommended way to persist data generated by containers and they - **`target`**: The target path in the container of the data you want to persist. - **`isReadOnly`**: A Boolean flag that indicates whether the data in the volume can be changed. The default value is `false`. -For the remainder of this article, imagine that you're exploring a `Program` class in a Aspire [AppHost project](app-host-overview.md) that's already defined the distributed app builder bits: +For the remainder of this article, imagine that you're exploring a `Program` class in an Aspire [AppHost project](app-host-overview.md) that's already defined the distributed app builder bits: ```csharp var builder = DistributedApplication.CreateBuilder(args); @@ -54,7 +54,7 @@ var builder = DistributedApplication.CreateBuilder(args); builder.Build().Run(); ``` -The first code snippet to consider uses the API to configure a volume for a SQL Server resource. The following code demonstrates how to configure a volume for a SQL Server resource in a Aspire AppHost project: +The first code snippet to consider uses the API to configure a volume for a SQL Server resource. The following code demonstrates how to configure a volume for a SQL Server resource in an Aspire AppHost project: :::code language="csharp" source="snippets/volumes/VolumeMounts.AppHost/Program.WithVolume.cs" id="volume"::: diff --git a/docs/fundamentals/service-defaults.md b/docs/fundamentals/service-defaults.md index ddfb8badea..3f99603e0b 100644 --- a/docs/fundamentals/service-defaults.md +++ b/docs/fundamentals/service-defaults.md @@ -46,7 +46,7 @@ The service defaults project template imposes a `FrameworkReference` dependency > [!TIP] > If you don't want to take a dependency on `Microsoft.AspNetCore.App`, you can create a custom service defaults project. For more information, see [Custom service defaults](#custom-service-defaults). -The `IsAspireSharedProject` property is set to `true`, which indicates that this project is a shared project. The Aspire tooling uses this project as a reference for other projects added to a Aspire solution. When you enlist the new project for orchestration, it automatically references the _YourAppName.ServiceDefaults_ project and updates the _:::no-loc text="Program.cs":::_ file to call the `AddServiceDefaults` method. +The `IsAspireSharedProject` property is set to `true`, which indicates that this project is a shared project. The Aspire tooling uses this project as a reference for other projects added to an Aspire solution. When you enlist the new project for orchestration, it automatically references the _YourAppName.ServiceDefaults_ project and updates the _:::no-loc text="Program.cs":::_ file to call the `AddServiceDefaults` method. ## Provided extension methods @@ -239,7 +239,7 @@ This is only an example, and you can customize the `AppDefaultsExtensions` class ## Next steps -This code is derived from the Aspire Starter Application template and is intended as a starting point. You're free to modify this code however you deem necessary to meet your needs. It's important to know that service defaults project and its functionality are automatically applied to all project resources in a Aspire solution. +This code is derived from the Aspire Starter Application template and is intended as a starting point. You're free to modify this code however you deem necessary to meet your needs. It's important to know that service defaults project and its functionality are automatically applied to all project resources in an Aspire solution. - [Service discovery in Aspire](../service-discovery/overview.md) - [Aspire SDK](dotnet-aspire-sdk.md) diff --git a/docs/fundamentals/setup-tooling.md b/docs/fundamentals/setup-tooling.md index 774cf4bd46..ee48e8a002 100644 --- a/docs/fundamentals/setup-tooling.md +++ b/docs/fundamentals/setup-tooling.md @@ -249,7 +249,7 @@ You can use Visual Studio Code, with the [C# Dev Kit extension](https://marketpl Once you create a new Aspire project, you run and debug the app, stepping through breakpoints, and inspecting variables using the Visual Studio Code debugger: -:::image type="content" source="media/setup-tooling/vscode-debugging.png" lightbox="media/setup-tooling/vscode-debugging.png" alt-text="A screenshot showing how to debug a Aspire project in Visual Studio Code."::: +:::image type="content" source="media/setup-tooling/vscode-debugging.png" lightbox="media/setup-tooling/vscode-debugging.png" alt-text="A screenshot showing how to debug an Aspire project in Visual Studio Code."::: :::zone-end diff --git a/docs/fundamentals/telemetry.md b/docs/fundamentals/telemetry.md index d58e67ec18..3d1d088fe9 100644 --- a/docs/fundamentals/telemetry.md +++ b/docs/fundamentals/telemetry.md @@ -40,7 +40,7 @@ The environment variables are automatically set in local development. ## Aspire local development -When you create a Aspire project, the Aspire dashboard provides a UI for viewing app telemetry by default. Telemetry data is sent to the dashboard using OTLP, and the dashboard implements an OTLP server to receive telemetry data and store it in memory. The Aspire debugging workflow is as follows: +When you create an Aspire project, the Aspire dashboard provides a UI for viewing app telemetry by default. Telemetry data is sent to the dashboard using OTLP, and the dashboard implements an OTLP server to receive telemetry data and store it in memory. The Aspire debugging workflow is as follows: - Developer starts the Aspire project with debugging, presses F5. - Aspire dashboard and developer control plane (DCP) start. diff --git a/docs/get-started/build-aspire-apps-with-nodejs.md b/docs/get-started/build-aspire-apps-with-nodejs.md index bd1a8f9022..2aaa6da893 100644 --- a/docs/get-started/build-aspire-apps-with-nodejs.md +++ b/docs/get-started/build-aspire-apps-with-nodejs.md @@ -1,13 +1,13 @@ --- title: Orchestrate Node.js apps in Aspire -description: Learn how to integrate Node.js and npm apps into a Aspire AppHost project. +description: Learn how to integrate Node.js and npm apps into an Aspire AppHost project. ms.date: 05/27/2025 ms.custom: sfi-image-nochange --- # Orchestrate Node.js apps in Aspire -In this article, you learn how to use Node.js and Node Package Manager (`npm`) apps in a Aspire project. The sample app in this article demonstrates [Angular](https://angular.io), [React](https://react.dev/), and [Vue](https://vuejs.org/) client experiences. The following Aspire APIs exist to support these scenariosโ€”and they're part of the [Aspire.Hosting.NodeJS](https://nuget.org/packages/Aspire.Hosting.NodeJS) NuGet package: +In this article, you learn how to use Node.js and Node Package Manager (`npm`) apps in an Aspire project. The sample app in this article demonstrates [Angular](https://angular.io), [React](https://react.dev/), and [Vue](https://vuejs.org/) client experiences. The following Aspire APIs exist to support these scenariosโ€”and they're part of the [Aspire.Hosting.NodeJS](https://nuget.org/packages/Aspire.Hosting.NodeJS) NuGet package: - [Node.js](https://nodejs.org/): . - [`npm` apps](https://docs.npmjs.com/cli/using-npm/scripts): . diff --git a/docs/get-started/build-aspire-apps-with-python.md b/docs/get-started/build-aspire-apps-with-python.md index 72ea4e1a23..45cc876bba 100644 --- a/docs/get-started/build-aspire-apps-with-python.md +++ b/docs/get-started/build-aspire-apps-with-python.md @@ -1,13 +1,13 @@ --- title: Orchestrate Python apps in Aspire -description: Learn how to integrate Python apps into a Aspire AppHost project. +description: Learn how to integrate Python apps into an Aspire AppHost project. ms.date: 04/15/2025 ms.custom: sfi-image-nochange --- # Orchestrate Python apps in Aspire -In this article, you learn how to use Python apps in a Aspire AppHost. The sample app in this article demonstrates launching a Python application. The Python extension for Aspire requires the use of virtual environments. +In this article, you learn how to use Python apps in an Aspire AppHost. The sample app in this article demonstrates launching a Python application. The Python extension for Aspire requires the use of virtual environments. [!INCLUDE [aspire-prereqs](../includes/aspire-prereqs.md)] @@ -23,9 +23,9 @@ pip --version To download Python (including `pip`), see the [Python download page](https://www.python.org/downloads). -## Create a Aspire project using the template +## Create an Aspire project using the template -To get started launching a Python project in Aspire, use the starter template to first create a Aspire application host: +To get started launching a Python project in Aspire, use the starter template to first create an Aspire application host: ```dotnetcli dotnet new aspire -o PythonSample diff --git a/docs/get-started/build-your-first-aspire-app.md b/docs/get-started/build-your-first-aspire-app.md index c71341cade..271ad710df 100644 --- a/docs/get-started/build-your-first-aspire-app.md +++ b/docs/get-started/build-your-first-aspire-app.md @@ -9,14 +9,14 @@ ms.custom: sfi-ropc-nochange # Quickstart: Build your first Aspire solution -Cloud-native apps often require connections to various services such as databases, storage and caching solutions, messaging providers, or other web services. Aspire is designed to streamline connections and configurations between these types of services. This quickstart shows how to create a Aspire Starter Application template solution. +Cloud-native apps often require connections to various services such as databases, storage and caching solutions, messaging providers, or other web services. Aspire is designed to streamline connections and configurations between these types of services. This quickstart shows how to create an Aspire Starter Application template solution. In this quickstart, you explore the following tasks: > [!div class="checklist"] > > - Create a basic .NET app that is set up to use Aspire. -> - Add and configure a Aspire integration to implement caching at project creation time. +> - Add and configure an Aspire integration to implement caching at project creation time. > - Create an API and use service discovery to connect to it. > - Orchestrate communication between a front end UI, a back end API, and a local Redis cache. @@ -132,7 +132,7 @@ Next, investigate the structure and other features of your new Aspire solution. ## Explore the Aspire dashboard -When you run a Aspire project, a [dashboard](../fundamentals/dashboard/overview.md) launches that you use to monitor various parts of your app. The dashboard resembles the following screenshot: +When you run an Aspire project, a [dashboard](../fundamentals/dashboard/overview.md) launches that you use to monitor various parts of your app. The dashboard resembles the following screenshot: :::image type="content" source="media/aspire-dashboard.png" lightbox="media/aspire-dashboard.png" alt-text="A screenshot of the Aspire Dashboard, depicting the Projects tab."::: diff --git a/docs/service-discovery/overview.md b/docs/service-discovery/overview.md index ed856685a8..b4ad74e6b9 100644 --- a/docs/service-discovery/overview.md +++ b/docs/service-discovery/overview.md @@ -7,7 +7,7 @@ ms.topic: quickstart # Aspire service discovery -In this article, you learn how service discovery works within a Aspire project. Aspire includes functionality for configuring service discovery at development and testing time. Service discovery functionality works by providing configuration in the format expected by the _configuration-based endpoint resolver_ from the Aspire AppHost project to the individual service projects added to the application model. For more information, see [Service discovery in .NET](/dotnet/core/extensions/service-discovery). +In this article, you learn how service discovery works within an Aspire project. Aspire includes functionality for configuring service discovery at development and testing time. Service discovery functionality works by providing configuration in the format expected by the _configuration-based endpoint resolver_ from the Aspire AppHost project to the individual service projects added to the application model. For more information, see [Service discovery in .NET](/dotnet/core/extensions/service-discovery). ## Implicit service discovery by reference diff --git a/docs/storage/azure-storage-integrations.md b/docs/storage/azure-storage-integrations.md index ea7a2b1d4e..c66005c981 100644 --- a/docs/storage/azure-storage-integrations.md +++ b/docs/storage/azure-storage-integrations.md @@ -112,7 +112,7 @@ After the operation completes successfully, you have two options moving forward: ## Create the sample solution -Create a Aspire project using either Visual Studio or the .NET CLI. +Create an Aspire project using either Visual Studio or the .NET CLI. ## [Visual Studio](#tab/visual-studio) diff --git a/docs/testing/write-your-first-test.md b/docs/testing/write-your-first-test.md index f909ac0f18..d9f21f1879 100644 --- a/docs/testing/write-your-first-test.md +++ b/docs/testing/write-your-first-test.md @@ -13,7 +13,7 @@ The Aspire test project templates rely on the [๐Ÿ“ฆ Aspire.Hosting.Testing](http ## Create a test project -The easiest way to create a Aspire test project is to use the testing project template. If you're starting a new Aspire project and want to include test projects, the [Visual Studio tooling supports that option](../fundamentals/setup-tooling.md#create-test-project). If you're adding a test project to an existing Aspire project, you can use the `dotnet new` command to create a test project: +The easiest way to create an Aspire test project is to use the testing project template. If you're starting a new Aspire project and want to include test projects, the [Visual Studio tooling supports that option](../fundamentals/setup-tooling.md#create-test-project). If you're adding a test project to an existing Aspire project, you can use the `dotnet new` command to create a test project: :::zone pivot="xunit" diff --git a/docs/troubleshooting/allow-unsecure-transport.md b/docs/troubleshooting/allow-unsecure-transport.md index aed8c49ad2..cc9247f972 100644 --- a/docs/troubleshooting/allow-unsecure-transport.md +++ b/docs/troubleshooting/allow-unsecure-transport.md @@ -15,7 +15,7 @@ This article explains how to allow unsecure transport in Aspire projects. ## Symptoms -When you run a Aspire project with an `applicationUrl` configured with an unsecure transport protocol, you might see the following error message: +When you run an Aspire project with an `applicationUrl` configured with an unsecure transport protocol, you might see the following error message: ```Output The 'applicationUrl' setting must be an https address unless the diff --git a/docs/troubleshooting/name-is-already-in-use.md b/docs/troubleshooting/name-is-already-in-use.md index bfc4d261b8..a68dff9a6d 100644 --- a/docs/troubleshooting/name-is-already-in-use.md +++ b/docs/troubleshooting/name-is-already-in-use.md @@ -14,7 +14,7 @@ This article describes several techniques to avoid this problem. ## Symptoms -When deploying a Aspire project to Azure, the resources in the [app model](../fundamentals/app-host-overview.md#define-the-app-model) are transformed into Azure resources. Some Azure resources have globally scoped names, such as Azure App Configuration, where all instances are in the `[name].azconfig.io` global namespace. +When deploying an Aspire project to Azure, the resources in the [app model](../fundamentals/app-host-overview.md#define-the-app-model) are transformed into Azure resources. Some Azure resources have globally scoped names, such as Azure App Configuration, where all instances are in the `[name].azconfig.io` global namespace. The value of `[name]` is derived from the Aspire resource name, along with random characters based on the resource group name. However, the generated string may exceed the allowable length for the resource name in App Configuration. As a result, some characters are truncated to ensure compliance. diff --git a/docs/whats-new/dotnet-aspire-9.1.md b/docs/whats-new/dotnet-aspire-9.1.md index 0fc683a937..898258fc33 100644 --- a/docs/whats-new/dotnet-aspire-9.1.md +++ b/docs/whats-new/dotnet-aspire-9.1.md @@ -310,7 +310,7 @@ Some of these enhancements were introduced as a result of stability issues that Significant improvements to the Azure Container Apps (ACA) deployment process are included in Aspire 9.1, enhancing both the `azd` CLI and AppHost options. One of the most requested featuresโ€”support for deploying `npm` applications to ACAโ€”is now implemented. This new capability allows `npm` apps to be deployed to ACA just like other resources, streamlining the deployment process and providing greater flexibility for developers. -We recognize there's more work to be done in the area of deployment. Future releases will continue to address these opportunities for improvement. For more information on deploying Aspire to ACA, see [Deploy a Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md). +We recognize there's more work to be done in the area of deployment. Future releases will continue to address these opportunities for improvement. For more information on deploying Aspire to ACA, see [Deploy an Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md). ## โš ๏ธ Breaking changes diff --git a/docs/whats-new/dotnet-docs-aspire-mod0.md b/docs/whats-new/dotnet-docs-aspire-mod0.md index c0274db589..5e0a0f5104 100644 --- a/docs/whats-new/dotnet-docs-aspire-mod0.md +++ b/docs/whats-new/dotnet-docs-aspire-mod0.md @@ -61,12 +61,12 @@ Welcome to what's new in the Aspire docs for June 2025. This article lists some ### Updated articles -- [Deploy a Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md) - Optimize ACA deployment docs workflow and content structure -- [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md) +- [Deploy an Aspire project to Azure Container Apps](../deployment/azure/aca-deployment.md) - Optimize ACA deployment docs workflow and content structure +- [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md) - Optimize ACA deployment docs workflow and content structure - Update aca-deployment-azd-in-depth.md -- [Deploy a Aspire project to Azure Container Apps using Visual Studio](../deployment/azure/aca-deployment-visual-studio.md) - Optimize ACA deployment docs workflow and content structure -- [Tutorial: Deploy a Aspire project using the Azure Developer CLI](../deployment/azure/aca-deployment-github-actions.md) - Add troubleshooting guidance for Azure DevOps pipeline "azd init" errors +- [Deploy an Aspire project to Azure Container Apps using Visual Studio](../deployment/azure/aca-deployment-visual-studio.md) - Optimize ACA deployment docs workflow and content structure +- [Tutorial: Deploy an Aspire project using the Azure Developer CLI](../deployment/azure/aca-deployment-github-actions.md) - Add troubleshooting guidance for Azure DevOps pipeline "azd init" errors ## Community contributors diff --git a/docs/whats-new/dotnet-docs-aspire-mod1.md b/docs/whats-new/dotnet-docs-aspire-mod1.md index 811e5cf896..4110a10189 100644 --- a/docs/whats-new/dotnet-docs-aspire-mod1.md +++ b/docs/whats-new/dotnet-docs-aspire-mod1.md @@ -52,7 +52,7 @@ Welcome to what's new in the Aspire docs for April 2025. This article lists some - [Aspire MongoDB database integration](../database/mongodb-integration.md) - Split content - [Aspire Oracle Entity Framework Core integration](../database/oracle-entity-framework-integration.md) - Split content - [Aspire Qdrant integration](../database/qdrant-integration.md) - Split content -- [Tutorial: Deploy a Aspire project with a SQL Server Database to Azure](../database/sql-server-integration-deployment.md) - Update the Tutorial: Deploy a Aspire project with a SQL Server Database to Azure +- [Tutorial: Deploy an Aspire project with a SQL Server Database to Azure](../database/sql-server-integration-deployment.md) - Update the Tutorial: Deploy an Aspire project with a SQL Server Database to Azure ## Messaging @@ -85,7 +85,7 @@ Welcome to what's new in the Aspire docs for April 2025. This article lists some ### Updated articles -- [Deploy a Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md) - Terminate inline azd code snippet +- [Deploy an Aspire project to Azure Container Apps using the Azure Developer CLI (in-depth guide)](../deployment/azure/aca-deployment-azd-in-depth.md) - Terminate inline azd code snippet ## Community contributors