Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
7f49cd4
Remove IsAspireHost bits. Fixes #2847
IEvangelist Mar 19, 2025
d936908
New dashboard config to disable resource graph (#2874)
IEvangelist Mar 21, 2025
6fa7cdb
Position VS Code first
IEvangelist Mar 21, 2025
7538dc6
Add clarifying details about updates to `AddDatabase` APIs (#2878)
IEvangelist Mar 26, 2025
fb20c4a
Adding GitHub Copilot prompts (#2896)
IEvangelist Mar 26, 2025
1907243
Adding content for `WithHttpCommand` (#2875)
IEvangelist Mar 26, 2025
2853080
Correct postgres connection command
IEvangelist Mar 26, 2025
51623eb
Update kafka-integration.md (#2712)
stefannikolei Mar 27, 2025
aea3d8d
Add role assignments with .NET Aspire (#2891)
IEvangelist Mar 31, 2025
857447a
Breaking changes for .NET Aspire 9.2 (#2892)
IEvangelist Apr 3, 2025
fc77a73
Bump bicep bits (#2930)
IEvangelist Apr 4, 2025
1104b48
Update docs to use `EndpointProperty.HostAndPort` where appropriate (…
afscrome Apr 7, 2025
9278dda
Reorganize the order of the Azure storage content (#2937)
IEvangelist Apr 8, 2025
3cbbfb3
Add content on customizing resource URLs (#2940)
IEvangelist Apr 9, 2025
bfc80b7
Add CosmosDB parent-child relationship bits. (#2912)
IEvangelist Apr 10, 2025
25c5b69
Add new Azure PostgreSQL client integrations. (#2905)
IEvangelist Apr 10, 2025
e32cb38
.NET Aspire 💜 Playwright (#2904)
IEvangelist Apr 10, 2025
062efc3
Add "Configure Azure Container App environments" article (#3058)
IEvangelist Apr 10, 2025
a935a69
What's new in .NET Aspire 9.2 (#2877)
IEvangelist Apr 10, 2025
091b5a0
Merge branch 'main' into release-9.2
IEvangelist Apr 10, 2025
189dc32
Bump versions
IEvangelist Apr 10, 2025
3252f46
nits (#3064)
maddymontaquila Apr 10, 2025
33ca119
Fix build issues
IEvangelist Apr 10, 2025
e90a385
More fixes
IEvangelist Apr 10, 2025
49903e5
Move things
IEvangelist Apr 10, 2025
b8adc74
Move even more things
IEvangelist Apr 10, 2025
65d93df
Point to 9.2
IEvangelist Apr 10, 2025
36a111e
Fix bookmakrs
IEvangelist Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>7b352f08-305b-4032-9a21-90deb02efc04</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>7b352f08-305b-4032-9a21-90deb02efc04</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>10daccf5-26f1-4641-80b2-95f0357607cf</UserSecretsId>
</PropertyGroup>

Expand Down
1 change: 0 additions & 1 deletion docs/azure/snippets/AppHost.Bicep/AppHost.Bicep.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>5e45e8bd-353b-48d8-ac57-a89e5ee3f8ec</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
60 changes: 59 additions & 1 deletion docs/database/includes/postgresql-app-host.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,71 @@ var exampleProject = builder.AddProject<Projects.ExampleProject>()
// After adding all resources, run the app...
```

When .NET Aspire adds a container image to the app host, as shown in the preceding example with the `docker.io/library/postgres` image, it creates a new PostgreSQL server instance on your local machine. A reference to your PostgreSQL server and your PostgreSQL database instance (the `postgresdb` variable) are used to add a dependency to the `ExampleProject`. The PostgreSQL server resource includes default credentials with a `username` of `"postgres"` and randomly generated `password` using the <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter*> method.
When .NET Aspire adds a container image to the app host, as shown in the preceding example with the `docker.io/library/postgres` image, it creates a new PostgreSQL server instance on your local machine. A reference to your PostgreSQL server and database instance (the `postgresdb` variable) are used to add a dependency to the `ExampleProject`.

When adding a database resource to the app model, the database is created if it doesn't already exist. The creation of the database relies on the [app host eventing APIs](../../app-host/eventing.md), specifically <xref:Aspire.Hosting.ApplicationModel.ResourceReadyEvent>. In other words, when the `postgres` resource is _ready_, the event is raised and the database resource is created.

The PostgreSQL server resource includes default credentials with a `username` of `"postgres"` and randomly generated `password` using the <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter*> method.

The <xref:Aspire.Hosting.ResourceBuilderExtensions.WithReference%2A> method configures a connection in the `ExampleProject` named `"messaging"`. For more information, see [Container resource lifecycle](../../fundamentals/app-host-overview.md#container-resource-lifecycle).

> [!TIP]
> If you'd rather connect to an existing PostgreSQL server, call <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.AddConnectionString*> instead. For more information, see [Reference existing resources](../../fundamentals/app-host-overview.md#reference-existing-resources).

### Add PostgreSQL resource with database scripts

By default, when you add a <xref:Aspire.Hosting.ApplicationModel.PostgresDatabaseResource>, it relies on the following script to create the database:

```sql
CREATE DATABASE "<QUOTED_DATABASE_NAME>"
```

<!-- TODO: Use xref here when available

To alter the default script, chain a call to the <xref:Aspire.Hosting.PostgresBuilderExtensions.WithCreationScript*> method on the database resource builder:

-->

To alter the default script, chain a call to the `WithCreationScript` method on the database resource builder:

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var postgres = builder.AddPostgres("postgres");

var databaseName = "app_db";
var creationScript = $$"""
-- Create the database
CREATE DATABASE {{databaseName}};

-- Connect to the database
\c {{databaseName}}

-- Create the todos table
CREATE TABLE todos (
id SERIAL PRIMARY KEY, -- Auto-incrementing unique ID
title VARCHAR(255) NOT NULL, -- Short description of the task
description TEXT, -- Optional detailed description
is_completed BOOLEAN DEFAULT FALSE, -- Completion status
due_date DATE, -- Optional due date
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- Creation timestamp
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- Last update timestamp
);

""";

var db = postgres.AddDatabase(databaseName)
.WithCreationScript(creationScript);

builder.AddProject<Projects.ExampleProject>()
.WithReference(db)
.WaitFor(db);

// After adding all resources, run the app...
```

The preceding example creates a database named `app_db` with a single `todos` table. The script is executed when the database resource is created. The script is passed as a string to the `WithCreationScript` method, which is then executed in the context of the SQL Server resource.

### Add PostgreSQL pgAdmin resource

When adding PostgreSQL resources to the `builder` with the `AddPostgres` method, you can chain calls to <xref:Aspire.Hosting.PostgresBuilderExtensions.WithPgAdmin*> to add the [**dpage/pgadmin4**](https://www.pgadmin.org/) container. This container is a cross-platform client for PostgreSQL databases, that serves a web-based admin dashboard. Consider the following example:
Expand Down
73 changes: 72 additions & 1 deletion docs/database/includes/sql-app-host.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ builder.AddProject<Projects.ExampleProject>()
> [!NOTE]
> The SQL Server container is slow to start, so it's best to use a _persistent_ lifetime to avoid unnecessary restarts. For more information, see [Container resource lifetime](../../fundamentals/app-host-overview.md#container-resource-lifetime).

When .NET Aspire adds a container image to the app host, as shown in the preceding example with the `mcr.microsoft.com/mssql/server` image, it creates a new SQL Server instance on your local machine. A reference to your SQL Server resource builder (the `sql` variable) is used to add a database. The database is named `database` and then added to the `ExampleProject`. The SQL Server resource includes default credentials with a `username` of `sa` and a random `password` generated using the <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter*> method.
When .NET Aspire adds a container image to the app host, as shown in the preceding example with the `mcr.microsoft.com/mssql/server` image, it creates a new SQL Server instance on your local machine. A reference to your SQL Server resource builder (the `sql` variable) is used to add a database. The database is named `database` and then added to the `ExampleProject`.

When adding a database resource to the app model, the database is created if it doesn't already exist. The creation of the database relies on the [app host eventing APIs](../../app-host/eventing.md), specifically <xref:Aspire.Hosting.ApplicationModel.ResourceReadyEvent>. In other words, when the `sql` resource is _ready_, the event is raised and the database resource is created.

The SQL Server resource includes default credentials with a `username` of `sa` and a random `password` generated using the <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter*> method.

When the app host runs, the password is stored in the app host's secret store. It's added to the `Parameters` section, for example:

Expand All @@ -60,6 +64,73 @@ The <xref:Aspire.Hosting.ResourceBuilderExtensions.WithReference%2A> method conf
> [!TIP]
> If you'd rather connect to an existing SQL Server, call <xref:Aspire.Hosting.ParameterResourceBuilderExtensions.AddConnectionString*> instead. For more information, see [Reference existing resources](../../fundamentals/app-host-overview.md#reference-existing-resources).

### Add SQL Server resource with database scripts

By default, when you add a <xref:Aspire.Hosting.ApplicationModel.SqlServerDatabaseResource>, it relies on the following SQL script to create the database:

```sql
IF
(
NOT EXISTS
(
SELECT 1
FROM sys.databases
WHERE name = @DatabaseName
)
)
CREATE DATABASE [<QUOTED_DATABASE_NAME>];
```

<!-- TODO: Use xref here when available

To alter the default script, chain a call to the <xref:Aspire.Hosting.SqlServerBuilderExtensions.WithCreationScript*> method on the database resource builder:

-->

To alter the default script, chain a call to the `WithCreationScript` method on the database resource builder:

```csharp
var builder = DistributedApplication.CreateBuilder(args);

var sql = builder.AddSqlServer("sql")
.WithLifetime(ContainerLifetime.Persistent);

var databaseName = "app_db";
var creationScript = $$"""
IF DB_ID('{{databaseName}}') IS NULL
CREATE DATABASE [{{databaseName}}];
GO

-- Use the database
USE [{{databaseName}}];
GO

-- Create the todos table
CREATE TABLE todos (
id INT PRIMARY KEY AUTO_INCREMENT, -- Unique ID for each todo
title VARCHAR(255) NOT NULL, -- Short description of the task
description TEXT, -- Optional detailed description
is_completed BOOLEAN DEFAULT FALSE, -- Completion status
due_date DATE, -- Optional due date
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
GO

""";

var db = sql.AddDatabase(databaseName)
.WithCreationScript(creationScript);

builder.AddProject<Projects.ExampleProject>()
.WithReference(db)
.WaitFor(db);

// After adding all resources, run the app...
```

The preceding example creates a database named `app_db` with a single `todos` table. The SQL script is executed when the database resource is created. The script is passed as a string to the `WithCreationScript` method, which is then executed in the context of the SQL Server resource.

### Add SQL Server resource with data volume

To add a data volume to the SQL Server resource, call the <xref:Aspire.Hosting.SqlServerBuilderExtensions.WithDataVolume*> method on the SQL Server resource:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>8cfd753f-f8ea-42ad-897b-8549f2f74848</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>15db40fe-0cea-49e1-96c4-b86b7e4d3fd3</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>15db40fe-0cea-49e1-96c4-b86b7e4d3fd3</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>65600b1c-627d-4255-a706-bf7e21108831</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>9c9bfb14-6706-4421-bc93-37cbaebe36d0</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>9c9bfb14-6706-4421-bc93-37cbaebe36d0</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>9c9bfb14-6706-4421-bc93-37cbaebe36d0</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>0bd3d839-67a8-422d-aee2-bd9f1c0556a1</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>88427062-d086-46c2-b35e-171d742a6fe0</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
5 changes: 2 additions & 3 deletions docs/fundamentals/app-host-overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: .NET Aspire orchestration overview
description: Learn the fundamental concepts of .NET Aspire orchestration and explore the various APIs for adding resources and expressing dependencies.
ms.date: 03/14/2025
ms.date: 03/19/2025
ms.topic: overview
uid: dotnet/aspire/app-host
---
Expand Down Expand Up @@ -40,7 +40,7 @@ builder.Build().Run();

## App host project

The app host project handles running all of the projects that are part of the .NET Aspire project. In other words, it's responsible for orchestrating all apps within the app model. The project itself is a .NET executable project that references the [📦 Aspire.Hosting.AppHost](https://www.nuget.org/packages/Aspire.Hosting.AppHost) NuGet package, sets the `IsAspireHost` property to `true`, and references the [.NET Aspire SDK](dotnet-aspire-sdk.md):
The app host project handles running all of the projects that are part of the .NET Aspire project. In other words, it's responsible for orchestrating all apps within the app model. The project itself is a .NET executable project that references the [📦 Aspire.Hosting.AppHost](https://www.nuget.org/packages/Aspire.Hosting.AppHost) NuGet package, and uses the [.NET Aspire SDK](dotnet-aspire-sdk.md):

```xml
<Project Sdk="Microsoft.NET.Sdk">
Expand All @@ -50,7 +50,6 @@ The app host project handles running all of the projects that are part of the .N
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<IsAspireHost>true</IsAspireHost>
<!-- Omitted for brevity -->
</PropertyGroup>

Expand Down
3 changes: 2 additions & 1 deletion docs/fundamentals/dashboard/configuration.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: .NET Aspire dashboard configuration
description: .NET Aspire dashboard configuration options
ms.date: 02/13/2025
ms.date: 03/20/2025
ms.topic: reference
---

Expand Down Expand Up @@ -182,6 +182,7 @@ Telemetry limits have different scopes depending upon the telemetry type:
| Option | Default value | Description |
|--|--|--|
| `Dashboard:ApplicationName` | `Aspire` | The application name to be displayed in the UI. This applies only when no resource service URL is specified. When a resource service exists, the service specifies the application name. |
| `Dashboard:UI:DisableResourceGraph` | `false` | Disables displaying the resource graph UI in the dashboard. |

## Next steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>7247ba20-5e3e-4299-afa7-4ca58ebe3488</UserSecretsId>
</PropertyGroup>

Expand Down
11 changes: 6 additions & 5 deletions docs/fundamentals/dotnet-aspire-sdk.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: .NET Aspire SDK
description: Learn
ms.date: 02/25/2025
ms.date: 03/19/2025
uid: dotnet/aspire/sdk
---

# .NET Aspire SDK

The .NET Aspire SDK is intended for [_*.AppHost_ projects](app-host-overview.md#app-host-project), which serve as the .NET Aspire orchestrator. These projects are designated using the `<IsAspireHost>true</IsAspireHost>` property, as well as specifying the `Aspire.AppHost.Sdk` in the project file. The SDK provides a set of features that simplify the development of .NET Aspire apps.
The .NET Aspire SDK is intended for [_*.AppHost_ projects](app-host-overview.md#app-host-project), which serve as the .NET Aspire orchestrator. These projects are designated by their usage of the `Aspire.AppHost.Sdk` in the project file. The SDK provides a set of features that simplify the development of .NET Aspire apps.

## Overview

Expand All @@ -21,7 +21,6 @@ The [📦 Aspire.AppHost.Sdk](https://www.nuget.org/packages/Aspire.AppHost.Sdk)
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<IsAspireHost>true</IsAspireHost>
<!-- Omitted for brevity -->
</PropertyGroup>

Expand All @@ -33,7 +32,7 @@ The [📦 Aspire.AppHost.Sdk](https://www.nuget.org/packages/Aspire.AppHost.Sdk)
</Project>
```

The preceding example project defines the top-level SDK as `Microsoft.NET.Sdk` and the `Aspire.AppHost.Sdk` as an additive SDK. The `IsAspireHost` property is set to `true` to indicate that this project is an .NET Aspire app host. The project also references the `Aspire.Hosting.AppHost` package which brings in a number of Aspire-related dependencies.
The preceding example project defines the top-level SDK as `Microsoft.NET.Sdk` and the `Aspire.AppHost.Sdk` as an additive SDK. The project also references the `Aspire.Hosting.AppHost` package which brings in a number of Aspire-related dependencies.

## SDK Features

Expand All @@ -44,11 +43,13 @@ The .NET Aspire SDK provides several key features.
Each `ProjectReference` in the [.NET Aspire app host][app-host] project isn't treated as standard project references. Instead, they enable the _app host_ to execute these projects as part of its orchestration. Each project reference triggers a generator to create a `class` that represents the project as an <xref:Aspire.Hosting.IProjectMetadata>. This metadata is used to populate the named projects in the generated `Projects` namespace. When you call the <xref:Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject*?displayProperty=fullName> API, the `Projects` namespace is used to reference the project—passing the generated class as a generic-type parameter.

> [!TIP]
> If you need to reference a project in the tranditional way within the app host, set the `IsAspireProjectResource` attribute on the `ProjectReference` element to `false`, as shown in the following example:
> If you need to reference a project in the traditional way within the app host, set the `IsAspireProjectResource` attribute on the `ProjectReference` element to `false`, as shown in the following example:
>
> ```xml
> <ProjectReference Include="..\MyProject\MyProject.csproj" IsAspireProjectResource="false" />
> ```
>
> Otherwise, by default, the `ProjectReference` is treated as .NET Aspire project resource.

### Orchestrator dependencies

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>96e09729-6560-4674-add2-deb02f156d36</UserSecretsId>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>d1fafd31-bb63-479d-bc2b-a4067786068f</UserSecretsId>
</PropertyGroup>
<ItemGroup>
Expand Down
Loading
Loading