diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index b01a9628d..35062a12c 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -48,7 +48,7 @@ updates:
- area-engineering-systems
- package-ecosystem: npm
- directory: "samples/aspire-with-javascript/AspireJavaScript.Angular"
+ directory: "samples/dotnet/aspire-with-javascript/AspireJavaScript.Angular"
schedule:
interval: weekly
open-pull-requests-limit: 1
@@ -73,7 +73,7 @@ updates:
- area-engineering-systems
- package-ecosystem: npm
- directory: "samples/aspire-with-javascript/AspireJavaScript.React"
+ directory: "samples/dotnet/aspire-with-javascript/AspireJavaScript.React"
schedule:
interval: weekly
open-pull-requests-limit: 1
@@ -98,7 +98,7 @@ updates:
- area-engineering-systems
- package-ecosystem: npm
- directory: "samples/aspire-with-javascript/AspireJavaScript.Vue"
+ directory: "samples/dotnet/aspire-with-javascript/AspireJavaScript.Vue"
schedule:
interval: weekly
open-pull-requests-limit: 1
@@ -123,7 +123,7 @@ updates:
- area-engineering-systems
- package-ecosystem: npm
- directory: "samples/aspire-with-javascript/AspireJavaScript.Vite"
+ directory: "samples/dotnet/aspire-with-javascript/AspireJavaScript.Vite"
schedule:
interval: weekly
open-pull-requests-limit: 1
@@ -142,7 +142,7 @@ updates:
- area-engineering-systems
- package-ecosystem: npm
- directory: "samples/aspire-with-node/NodeFrontend"
+ directory: "samples/dotnet/aspire-with-node/NodeFrontend"
schedule:
interval: weekly
open-pull-requests-limit: 1
diff --git a/.github/for.dependabot.only.sln b/.github/for.dependabot.only.sln
index 8178e02c7..3697156cc 100644
--- a/.github/for.dependabot.only.sln
+++ b/.github/for.dependabot.only.sln
@@ -1,81 +1,81 @@
-
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 18
VisualStudioVersion = 18.0.11222.15 d18.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.AppHost", "..\samples\aspire-shop\AspireShop.AppHost\AspireShop.AppHost.csproj", "{4CFD8A01-7D42-4ABF-8036-8870FB9AD908}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.AppHost", "..\samples\dotnet\aspire-shop\AspireShop.AppHost\AspireShop.AppHost.csproj", "{4CFD8A01-7D42-4ABF-8036-8870FB9AD908}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.BasketService", "..\samples\aspire-shop\AspireShop.BasketService\AspireShop.BasketService.csproj", "{3311C697-D624-4DD2-96A8-67F5FFB97A05}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.BasketService", "..\samples\dotnet\aspire-shop\AspireShop.BasketService\AspireShop.BasketService.csproj", "{3311C697-D624-4DD2-96A8-67F5FFB97A05}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogDb", "..\samples\aspire-shop\AspireShop.CatalogDb\AspireShop.CatalogDb.csproj", "{23D153F4-7A33-4DAC-95E9-8271375F2375}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogDb", "..\samples\dotnet\aspire-shop\AspireShop.CatalogDb\AspireShop.CatalogDb.csproj", "{23D153F4-7A33-4DAC-95E9-8271375F2375}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogDbManager", "..\samples\aspire-shop\AspireShop.CatalogDbManager\AspireShop.CatalogDbManager.csproj", "{E7E207D3-309C-4020-AD60-633BBC396D05}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogDbManager", "..\samples\dotnet\aspire-shop\AspireShop.CatalogDbManager\AspireShop.CatalogDbManager.csproj", "{E7E207D3-309C-4020-AD60-633BBC396D05}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogService", "..\samples\aspire-shop\AspireShop.CatalogService\AspireShop.CatalogService.csproj", "{44E8AA82-2BC4-4A24-B754-CF098BC85294}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.CatalogService", "..\samples\dotnet\aspire-shop\AspireShop.CatalogService\AspireShop.CatalogService.csproj", "{44E8AA82-2BC4-4A24-B754-CF098BC85294}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.Frontend", "..\samples\aspire-shop\AspireShop.Frontend\AspireShop.Frontend.csproj", "{D981AE25-EC28-4FA9-80D8-E887121FFDBC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.Frontend", "..\samples\dotnet\aspire-shop\AspireShop.Frontend\AspireShop.Frontend.csproj", "{D981AE25-EC28-4FA9-80D8-E887121FFDBC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.ServiceDefaults", "..\samples\aspire-shop\AspireShop.ServiceDefaults\AspireShop.ServiceDefaults.csproj", "{9F8BE5D7-566D-446C-A867-84A2F6EF3609}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireShop.ServiceDefaults", "..\samples\dotnet\aspire-shop\AspireShop.ServiceDefaults\AspireShop.ServiceDefaults.csproj", "{9F8BE5D7-566D-446C-A867-84A2F6EF3609}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.AppHost", "..\samples\aspire-with-javascript\AspireJavaScript.AppHost\AspireJavaScript.AppHost.csproj", "{9932E9F8-85C4-4978-BE21-DF665C0CACCF}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.AppHost", "..\samples\dotnet\aspire-with-javascript\AspireJavaScript.AppHost\AspireJavaScript.AppHost.csproj", "{9932E9F8-85C4-4978-BE21-DF665C0CACCF}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.MinimalApi", "..\samples\aspire-with-javascript\AspireJavaScript.MinimalApi\AspireJavaScript.MinimalApi.csproj", "{68732D90-7FEE-426F-9921-07675EA78E41}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.MinimalApi", "..\samples\dotnet\aspire-with-javascript\AspireJavaScript.MinimalApi\AspireJavaScript.MinimalApi.csproj", "{68732D90-7FEE-426F-9921-07675EA78E41}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.ServiceDefaults", "..\samples\aspire-with-javascript\AspireJavaScript.ServiceDefaults\AspireJavaScript.ServiceDefaults.csproj", "{B6D057E6-A16A-4B19-BFF0-2646B580A260}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireJavaScript.ServiceDefaults", "..\samples\dotnet\aspire-with-javascript\AspireJavaScript.ServiceDefaults\AspireJavaScript.ServiceDefaults.csproj", "{B6D057E6-A16A-4B19-BFF0-2646B580A260}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.AppHost", "..\samples\aspire-with-node\AspireWithNode.AppHost\AspireWithNode.AppHost.csproj", "{4072FEF6-00F5-4DB2-B2DD-314E7ED0932B}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.AppHost", "..\samples\dotnet\aspire-with-node\AspireWithNode.AppHost\AspireWithNode.AppHost.csproj", "{4072FEF6-00F5-4DB2-B2DD-314E7ED0932B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.AspNetCoreApi", "..\samples\aspire-with-node\AspireWithNode.AspNetCoreApi\AspireWithNode.AspNetCoreApi.csproj", "{2F5C8620-DD80-4BB4-9052-F8E5D15B3DAC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.AspNetCoreApi", "..\samples\dotnet\aspire-with-node\AspireWithNode.AspNetCoreApi\AspireWithNode.AspNetCoreApi.csproj", "{2F5C8620-DD80-4BB4-9052-F8E5D15B3DAC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.ServiceDefaults", "..\samples\aspire-with-node\AspireWithNode.ServiceDefaults\AspireWithNode.ServiceDefaults.csproj", "{9BA583C4-1AD4-4E34-9182-C01C05A9E619}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AspireWithNode.ServiceDefaults", "..\samples\dotnet\aspire-with-node\AspireWithNode.ServiceDefaults\AspireWithNode.ServiceDefaults.csproj", "{9BA583C4-1AD4-4E34-9182-C01C05A9E619}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.ApiService", "..\samples\client-apps-integration\ClientAppsIntegration.ApiService\ClientAppsIntegration.ApiService.csproj", "{646CB5FC-0971-433A-9B49-0FB6B94C0673}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.ApiService", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.ApiService\ClientAppsIntegration.ApiService.csproj", "{646CB5FC-0971-433A-9B49-0FB6B94C0673}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.AppDefaults", "..\samples\client-apps-integration\ClientAppsIntegration.AppDefaults\ClientAppsIntegration.AppDefaults.csproj", "{CE683A2D-1DAA-492E-B2F4-993A0683209C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.AppDefaults", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.AppDefaults\ClientAppsIntegration.AppDefaults.csproj", "{CE683A2D-1DAA-492E-B2F4-993A0683209C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.AppHost", "..\samples\client-apps-integration\ClientAppsIntegration.AppHost\ClientAppsIntegration.AppHost.csproj", "{324A2A72-CC33-4269-901B-778D23C2B788}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.AppHost", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.AppHost\ClientAppsIntegration.AppHost.csproj", "{324A2A72-CC33-4269-901B-778D23C2B788}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.ServiceDefaults", "..\samples\client-apps-integration\ClientAppsIntegration.ServiceDefaults\ClientAppsIntegration.ServiceDefaults.csproj", "{C475D03F-FA0E-4AD3-84C8-C97FE77D2CC8}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.ServiceDefaults", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.ServiceDefaults\ClientAppsIntegration.ServiceDefaults.csproj", "{C475D03F-FA0E-4AD3-84C8-C97FE77D2CC8}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.WinForms", "..\samples\client-apps-integration\ClientAppsIntegration.WinForms\ClientAppsIntegration.WinForms.csproj", "{81D6B1D7-68AC-4CB9-A272-4870BC4E90A2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.WinForms", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.WinForms\ClientAppsIntegration.WinForms.csproj", "{81D6B1D7-68AC-4CB9-A272-4870BC4E90A2}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.WPF", "..\samples\client-apps-integration\ClientAppsIntegration.WPF\ClientAppsIntegration.WPF.csproj", "{79DA59AC-9B90-4206-B46A-D9C6C7618342}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientAppsIntegration.WPF", "..\samples\dotnet\client-apps-integration\ClientAppsIntegration.WPF\ClientAppsIntegration.WPF.csproj", "{79DA59AC-9B90-4206-B46A-D9C6C7618342}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.ApiService", "..\samples\database-containers\DatabaseContainers.ApiService\DatabaseContainers.ApiService.csproj", "{EF916BCF-2F19-4D74-820D-7B3AAF9CC853}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.ApiService", "..\samples\dotnet\database-containers\DatabaseContainers.ApiService\DatabaseContainers.ApiService.csproj", "{EF916BCF-2F19-4D74-820D-7B3AAF9CC853}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.AppHost", "..\samples\database-containers\DatabaseContainers.AppHost\DatabaseContainers.AppHost.csproj", "{7F6E936C-2913-4DCE-8E5F-8780200762C2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.AppHost", "..\samples\dotnet\database-containers\DatabaseContainers.AppHost\DatabaseContainers.AppHost.csproj", "{7F6E936C-2913-4DCE-8E5F-8780200762C2}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.ServiceDefaults", "..\samples\database-containers\DatabaseContainers.ServiceDefaults\DatabaseContainers.ServiceDefaults.csproj", "{20BD19F3-661A-48A8-8E3B-374E29F58244}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseContainers.ServiceDefaults", "..\samples\dotnet\database-containers\DatabaseContainers.ServiceDefaults\DatabaseContainers.ServiceDefaults.csproj", "{20BD19F3-661A-48A8-8E3B-374E29F58244}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ApiModel", "..\samples\database-migrations\DatabaseMigrations.ApiModel\DatabaseMigrations.ApiModel.csproj", "{602C86CA-95C4-4CA6-A610-3C96197C9FEA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ApiModel", "..\samples\dotnet\database-migrations\DatabaseMigrations.ApiModel\DatabaseMigrations.ApiModel.csproj", "{602C86CA-95C4-4CA6-A610-3C96197C9FEA}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ApiService", "..\samples\database-migrations\DatabaseMigrations.ApiService\DatabaseMigrations.ApiService.csproj", "{BECC905B-3745-4C2F-BB26-F5BAFEB06002}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ApiService", "..\samples\dotnet\database-migrations\DatabaseMigrations.ApiService\DatabaseMigrations.ApiService.csproj", "{BECC905B-3745-4C2F-BB26-F5BAFEB06002}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.AppHost", "..\samples\database-migrations\DatabaseMigrations.AppHost\DatabaseMigrations.AppHost.csproj", "{C7F370A3-DAFA-4F1A-B3B2-FF2AB3CBE9C4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.AppHost", "..\samples\dotnet\database-migrations\DatabaseMigrations.AppHost\DatabaseMigrations.AppHost.csproj", "{C7F370A3-DAFA-4F1A-B3B2-FF2AB3CBE9C4}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.MigrationService", "..\samples\database-migrations\DatabaseMigrations.MigrationService\DatabaseMigrations.MigrationService.csproj", "{5201BC8A-80FB-47C1-B3D4-32C7D7E987EA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.MigrationService", "..\samples\dotnet\database-migrations\DatabaseMigrations.MigrationService\DatabaseMigrations.MigrationService.csproj", "{5201BC8A-80FB-47C1-B3D4-32C7D7E987EA}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ServiceDefaults", "..\samples\database-migrations\DatabaseMigrations.ServiceDefaults\DatabaseMigrations.ServiceDefaults.csproj", "{F0A1F89B-1171-4BC8-A245-5378CBD5CE70}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DatabaseMigrations.ServiceDefaults", "..\samples\dotnet\database-migrations\DatabaseMigrations.ServiceDefaults\DatabaseMigrations.ServiceDefaults.csproj", "{F0A1F89B-1171-4BC8-A245-5378CBD5CE70}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp.AppHost", "..\samples\metrics\MetricsApp.AppHost\MetricsApp.AppHost.csproj", "{4CB38928-0992-4826-9713-6BD923CAA8E5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp.AppHost", "..\samples\dotnet\Metrics\MetricsApp.AppHost\MetricsApp.AppHost.csproj", "{4CB38928-0992-4826-9713-6BD923CAA8E5}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp.Client", "..\samples\metrics\MetricsApp.Client\MetricsApp.Client.csproj", "{9BCA02C1-68B5-4E94-805C-43AA910BA865}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp.Client", "..\samples\dotnet\Metrics\MetricsApp.Client\MetricsApp.Client.csproj", "{9BCA02C1-68B5-4E94-805C-43AA910BA865}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp", "..\samples\metrics\MetricsApp\MetricsApp.csproj", "{4EA8719F-2AF5-414E-AA10-AA3666E61C2A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MetricsApp", "..\samples\dotnet\Metrics\MetricsApp\MetricsApp.csproj", "{4EA8719F-2AF5-414E-AA10-AA3666E61C2A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceDefaults", "..\samples\metrics\ServiceDefaults\ServiceDefaults.csproj", "{6D717975-3D02-42A3-B4D2-D03BA3766F1C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceDefaults", "..\samples\dotnet\Metrics\ServiceDefaults\ServiceDefaults.csproj", "{6D717975-3D02-42A3-B4D2-D03BA3766F1C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.AppHost", "..\samples\orleans-voting\OrleansVoting.AppHost\OrleansVoting.AppHost.csproj", "{5FE1DA7B-B4FE-4A3C-BB9B-792A38B33006}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.AppHost", "..\samples\dotnet\orleans-voting\OrleansVoting.AppHost\OrleansVoting.AppHost.csproj", "{5FE1DA7B-B4FE-4A3C-BB9B-792A38B33006}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.Service", "..\samples\orleans-voting\OrleansVoting.Service\OrleansVoting.Service.csproj", "{2D3455C5-0CDA-48DF-9CDF-5F73E4A84DA6}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.Service", "..\samples\dotnet\orleans-voting\OrleansVoting.Service\OrleansVoting.Service.csproj", "{2D3455C5-0CDA-48DF-9CDF-5F73E4A84DA6}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.ServiceDefaults", "..\samples\orleans-voting\OrleansVoting.ServiceDefaults\OrleansVoting.ServiceDefaults.csproj", "{87A65407-1D25-406A-A863-9384441880BC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrleansVoting.ServiceDefaults", "..\samples\dotnet\orleans-voting\OrleansVoting.ServiceDefaults\OrleansVoting.ServiceDefaults.csproj", "{87A65407-1D25-406A-A863-9384441880BC}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.AppHost", "..\samples\volume-mount\VolumeMount.AppHost\VolumeMount.AppHost.csproj", "{8AABE5C3-EA25-4849-B802-44C9F3DE4A29}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.AppHost", "..\samples\dotnet\volume-mount\VolumeMount.AppHost\VolumeMount.AppHost.csproj", "{8AABE5C3-EA25-4849-B802-44C9F3DE4A29}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.BlazorWeb", "..\samples\volume-mount\VolumeMount.BlazorWeb\VolumeMount.BlazorWeb.csproj", "{FBA5A48C-03C3-46A4-BCD1-46FBF102AF63}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.BlazorWeb", "..\samples\dotnet\volume-mount\VolumeMount.BlazorWeb\VolumeMount.BlazorWeb.csproj", "{FBA5A48C-03C3-46A4-BCD1-46FBF102AF63}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.ServiceDefaults", "..\samples\volume-mount\VolumeMount.ServiceDefaults\VolumeMount.ServiceDefaults.csproj", "{B2F0EF0B-7CF6-481E-AAF8-63753BFA083E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VolumeMount.ServiceDefaults", "..\samples\dotnet\volume-mount\VolumeMount.ServiceDefaults\VolumeMount.ServiceDefaults.csproj", "{B2F0EF0B-7CF6-481E-AAF8-63753BFA083E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SamplesIntegrationTests", "..\tests\SamplesIntegrationTests\SamplesIntegrationTests.csproj", "{2A0E88F5-0FE4-4C6A-8985-8EB92C5A2536}"
EndProject
@@ -103,25 +103,43 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{AA612AC9
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HealthChecksUI", "HealthChecksUI", "{3F6148B7-82DF-45F0-B3F4-38B40538C4DC}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.ApiService", "..\samples\health-checks-ui\HealthChecksUI.ApiService\HealthChecksUI.ApiService.csproj", "{E0D44400-7FA6-4C9B-A2E4-8FCE50A8F11B}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.ApiService", "..\samples\dotnet\health-checks-ui\HealthChecksUI.ApiService\HealthChecksUI.ApiService.csproj", "{E0D44400-7FA6-4C9B-A2E4-8FCE50A8F11B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.AppHost", "..\samples\health-checks-ui\HealthChecksUI.AppHost\HealthChecksUI.AppHost.csproj", "{D1247479-DF5F-4DAF-9785-EC0C0470824F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.AppHost", "..\samples\dotnet\health-checks-ui\HealthChecksUI.AppHost\HealthChecksUI.AppHost.csproj", "{D1247479-DF5F-4DAF-9785-EC0C0470824F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.ServiceDefaults", "..\samples\health-checks-ui\HealthChecksUI.ServiceDefaults\HealthChecksUI.ServiceDefaults.csproj", "{F66DF86C-A717-45B7-B6B6-9677B7858CE3}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.ServiceDefaults", "..\samples\dotnet\health-checks-ui\HealthChecksUI.ServiceDefaults\HealthChecksUI.ServiceDefaults.csproj", "{F66DF86C-A717-45B7-B6B6-9677B7858CE3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.Web", "..\samples\health-checks-ui\HealthChecksUI.Web\HealthChecksUI.Web.csproj", "{7D4CF58B-EE7C-40CE-860F-54F4EBC945B6}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HealthChecksUI.Web", "..\samples\dotnet\health-checks-ui\HealthChecksUI.Web\HealthChecksUI.Web.csproj", "{7D4CF58B-EE7C-40CE-860F-54F4EBC945B6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AspireWithAzureFunctions", "AspireWithAzureFunctions", "{28616E46-729B-4F5E-B2BD-BA30E12C411C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.AppHost", "..\samples\aspire-with-azure-functions\ImageGallery.AppHost\ImageGallery.AppHost.csproj", "{0AEFC57D-E4AD-4D69-93EF-C2820D770982}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.AppHost", "..\samples\dotnet\aspire-with-azure-functions\ImageGallery.AppHost\ImageGallery.AppHost.csproj", "{0AEFC57D-E4AD-4D69-93EF-C2820D770982}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.FrontEnd", "..\samples\aspire-with-azure-functions\ImageGallery.FrontEnd\ImageGallery.FrontEnd.csproj", "{49430A69-91D2-437B-B65D-1359D2314FE8}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.FrontEnd", "..\samples\dotnet\aspire-with-azure-functions\ImageGallery.FrontEnd\ImageGallery.FrontEnd.csproj", "{49430A69-91D2-437B-B65D-1359D2314FE8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Functions", "..\samples\aspire-with-azure-functions\ImageGallery.Functions\ImageGallery.Functions.csproj", "{6FD28298-8E14-4A2D-BA0E-60D5993C6F7C}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Functions", "..\samples\dotnet\aspire-with-azure-functions\ImageGallery.Functions\ImageGallery.Functions.csproj", "{6FD28298-8E14-4A2D-BA0E-60D5993C6F7C}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.ServiceDefaults", "..\samples\aspire-with-azure-functions\ImageGallery.ServiceDefaults\ImageGallery.ServiceDefaults.csproj", "{AFB99A94-7F9A-4D5A-996D-C266378CAB3F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.ServiceDefaults", "..\samples\dotnet\aspire-with-azure-functions\ImageGallery.ServiceDefaults\ImageGallery.ServiceDefaults.csproj", "{AFB99A94-7F9A-4D5A-996D-C266378CAB3F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Shared", "..\samples\aspire-with-azure-functions\ImageGallery.Shared\ImageGallery.Shared.csproj", "{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Shared", "..\samples\dotnet\aspire-with-azure-functions\ImageGallery.Shared\ImageGallery.Shared.csproj", "{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CustomResources", "CustomResources", "{B0D4FEC5-E8CA-4BF4-A037-5041F6EABB76}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ImageGallery", "ImageGallery", "{251D184E-5CB9-4C8B-9674-1C1376D70939}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PolyglotTaskQueue", "PolyglotTaskQueue", "{3B607C1C-DC47-4E37-A1A4-ECED4EF09E6B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ViteCSharpPostgres", "ViteCSharpPostgres", "{39D04FA1-7050-4D4E-A86C-1E93101AEFEC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomResources.AppHost", "..\samples\dotnet\custom-resources\CustomResources.AppHost\CustomResources.AppHost.csproj", "{785C6E47-FD79-4C5D-9D77-8DFB7A6C087F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Api", "..\samples\dotnet\image-gallery\api\api.csproj", "{9332610E-B100-4051-89E8-76FF87D56194}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageGallery.Worker", "..\samples\dotnet\image-gallery\worker\worker.csproj", "{D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "worker-csharp", "..\samples\dotnet\polyglot-task-queue\worker-csharp\worker-csharp.csproj", "{FCD41F72-0380-47EC-A418-F19A9518252E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ViteCSharpPostgres.Api", "..\samples\dotnet\vite-csharp-postgres\api\Api.csproj", "{7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -317,6 +335,26 @@ Global
{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {785C6E47-FD79-4C5D-9D77-8DFB7A6C087F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {785C6E47-FD79-4C5D-9D77-8DFB7A6C087F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {785C6E47-FD79-4C5D-9D77-8DFB7A6C087F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {785C6E47-FD79-4C5D-9D77-8DFB7A6C087F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9332610E-B100-4051-89E8-76FF87D56194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9332610E-B100-4051-89E8-76FF87D56194}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9332610E-B100-4051-89E8-76FF87D56194}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9332610E-B100-4051-89E8-76FF87D56194}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FCD41F72-0380-47EC-A418-F19A9518252E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FCD41F72-0380-47EC-A418-F19A9518252E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FCD41F72-0380-47EC-A418-F19A9518252E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FCD41F72-0380-47EC-A418-F19A9518252E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -380,6 +418,15 @@ Global
{6FD28298-8E14-4A2D-BA0E-60D5993C6F7C} = {28616E46-729B-4F5E-B2BD-BA30E12C411C}
{AFB99A94-7F9A-4D5A-996D-C266378CAB3F} = {28616E46-729B-4F5E-B2BD-BA30E12C411C}
{54EBE8CF-AA1D-49B0-BE7A-783E095B8C1A} = {28616E46-729B-4F5E-B2BD-BA30E12C411C}
+ {785C6E47-FD79-4C5D-9D77-8DFB7A6C087F} = {B0D4FEC5-E8CA-4BF4-A037-5041F6EABB76}
+ {B0D4FEC5-E8CA-4BF4-A037-5041F6EABB76} = {D5E0613C-C510-43CD-A1FD-32A3DF107114}
+ {9332610E-B100-4051-89E8-76FF87D56194} = {251D184E-5CB9-4C8B-9674-1C1376D70939}
+ {D44AF02D-BFF2-4DBD-B6AD-D0C5A4CF8A3A} = {251D184E-5CB9-4C8B-9674-1C1376D70939}
+ {251D184E-5CB9-4C8B-9674-1C1376D70939} = {D5E0613C-C510-43CD-A1FD-32A3DF107114}
+ {FCD41F72-0380-47EC-A418-F19A9518252E} = {3B607C1C-DC47-4E37-A1A4-ECED4EF09E6B}
+ {3B607C1C-DC47-4E37-A1A4-ECED4EF09E6B} = {D5E0613C-C510-43CD-A1FD-32A3DF107114}
+ {7E2F4C1A-9B33-4D58-AE10-1C2D3E4F5A6B} = {39D04FA1-7050-4D4E-A86C-1E93101AEFEC}
+ {39D04FA1-7050-4D4E-A86C-1E93101AEFEC} = {D5E0613C-C510-43CD-A1FD-32A3DF107114}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {87311815-2079-44E3-BA47-CC1B54811047}
diff --git a/README.md b/README.md
index dcb942982..bcc41dd34 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ Samples for [Aspire](https://aspire.dev).
| Sample | Workload languages | AppHost | Deploy | Description |
| --- | --- | --- | --- | --- |
-| [Integrating Frontend Apps](./samples/aspire-with-javascript) | JavaScript, TypeScript | C# AppHost | Run only | React, Vue, and Angular frontends integrated with Aspire. |
+| [Integrating Frontend Apps](./samples/dotnet/aspire-with-javascript) | JavaScript, TypeScript | C# AppHost | Run only | React, Vue, and Angular frontends integrated with Aspire. |
| [Node + Redis + Vite](./samples/node-express-redis) | JavaScript, TypeScript | TypeScript AppHost | Docker Compose | Express API + React/Vite frontend + Redis behind YARP. |
| [Vite + YARP Static Files](./samples/vite-yarp-static) | JavaScript, TypeScript | TypeScript AppHost | Docker Compose | Vite frontend served through YARP in run and publish modes. |
@@ -26,18 +26,18 @@ Samples for [Aspire](https://aspire.dev).
| Sample | Workload languages | AppHost | Deploy | Description |
| --- | --- | --- | --- | --- |
-| [Integrating Python Apps](./samples/aspire-with-python) | Python, JavaScript | C# AppHost | Run only | FastAPI backend + React frontend integrated with Aspire. |
-| [Vite + C# + PostgreSQL](./samples/vite-csharp-postgres) | C#, JavaScript, TypeScript | TypeScript AppHost | Docker Compose | React frontend + C# API + PostgreSQL in a single Aspire app. |
+| [Integrating Python Apps](./samples/dotnet/aspire-with-python) | Python, JavaScript | C# AppHost | Run only | FastAPI backend + React frontend integrated with Aspire. |
+| [Vite + C# + PostgreSQL](./samples/dotnet/vite-csharp-postgres) | C#, JavaScript, TypeScript | TypeScript AppHost | Docker Compose | React frontend + C# API + PostgreSQL in a single Aspire app. |
| [Vite + React + FastAPI](./samples/vite-react-fastapi) | Python, JavaScript, TypeScript | TypeScript AppHost | Docker Compose | React frontend + FastAPI backend behind YARP. |
-| [Polyglot Task Queue](./samples/polyglot-task-queue) | JavaScript, Python, C# | TypeScript AppHost | Docker Compose | React + Node API + Python/C# workers coordinated through RabbitMQ. |
+| [Polyglot Task Queue](./samples/dotnet/polyglot-task-queue) | JavaScript, Python, C# | TypeScript AppHost | Docker Compose | React + Node API + Python/C# workers coordinated through RabbitMQ. |
| [RAG Document Q&A](./samples/rag-document-qa-svelte) | Python, JavaScript | TypeScript AppHost | Run only | Svelte frontend + FastAPI + Qdrant + OpenAI. |
### Backend integrations by language
| Sample | Workload languages | AppHost | Deploy | Description |
| --- | --- | --- | --- | --- |
-| [Integrating a Node.js App](./samples/aspire-with-node) | JavaScript | C# AppHost | Run only | Integrates a Node.js backend with Aspire. |
-| [Integrating a Go App](./samples/container-build) | Go | C# AppHost | Docker Compose | Builds and runs a Go Gin app from a Dockerfile with Aspire. |
+| [Integrating a Node.js App](./samples/dotnet/aspire-with-node) | JavaScript | C# AppHost | Run only | Integrates a Node.js backend with Aspire. |
+| [Integrating a Go App](./samples/dotnet/container-build) | Go | C# AppHost | Docker Compose | Builds and runs a Go Gin app from a Dockerfile with Aspire. |
| [Go API](./samples/golang-api) | Go | TypeScript AppHost | Docker Compose | Go + chi API with Aspire-managed run and publish flows. |
| [Python FastAPI + PostgreSQL](./samples/python-fastapi-postgres) | Python | TypeScript AppHost | Docker Compose | FastAPI CRUD API wired to PostgreSQL and pgAdmin. |
| [Python OpenAI Agent](./samples/python-openai-agent) | Python | TypeScript AppHost | Docker Compose | FastAPI AI agent sample with OpenAI integration. |
@@ -47,23 +47,23 @@ Samples for [Aspire](https://aspire.dev).
| Sample | Workload languages | AppHost | Deploy | Description |
| --- | --- | --- | --- | --- |
-| [Azure Functions](./samples/aspire-with-azure-functions) | C# | C# AppHost | Azure | Integrates Azure Functions, ASP.NET Core, and Blazor with Aspire. |
-| [Image Gallery](./samples/image-gallery) | C#, JavaScript, TypeScript | C# AppHost | Azure | Upload and process images with Azure Blob, Queues, SQL, and Container Apps Jobs. |
-| [Custom Metrics Visualization](./samples/Metrics) | C# | C# AppHost | Run only | Collects and visualizes custom metrics with Prometheus and Grafana. |
-| [Standalone Aspire dashboard](./samples/standalone-dashboard) | C# | C# AppHost | Run only | Runs the Aspire dashboard container against any OpenTelemetry source. |
+| [Azure Functions](./samples/dotnet/aspire-with-azure-functions) | C# | C# AppHost | Azure | Integrates Azure Functions, ASP.NET Core, and Blazor with Aspire. |
+| [Image Gallery](./samples/dotnet/image-gallery) | C#, JavaScript, TypeScript | C# AppHost | Azure | Upload and process images with Azure Blob, Queues, SQL, and Container Apps Jobs. |
+| [Custom Metrics Visualization](./samples/dotnet/Metrics) | C# | C# AppHost | Run only | Collects and visualizes custom metrics with Prometheus and Grafana. |
+| [Standalone Aspire dashboard](./samples/dotnet/standalone-dashboard) | C# | C# AppHost | Run only | Runs the Aspire dashboard container against any OpenTelemetry source. |
### .NET + frontend and platform
| Sample | Workload languages | AppHost | Deploy | Description |
| --- | --- | --- | --- | --- |
-| [Aspire Shop](./samples/aspire-shop) | C# | C# AppHost | Run only | Distributed e-commerce sample app demonstrating Aspire integration. |
-| [HealthChecksUI](./samples/health-checks-ui) | C# | C# AppHost | Docker Compose | Demonstrates isolated health endpoints with HealthChecksUI. |
-| [Integrating Client Apps](./samples/client-apps-integration) | C# | C# AppHost | Run only | Integrates Windows Forms and WPF apps with Aspire. |
-| [Integrating Orleans](./samples/orleans-voting) | C# | C# AppHost | Run only | Distributed actor model sample built with Orleans. |
-| [Working with Database Containers](./samples/database-containers) | C#, SQL | C# AppHost | Run only | Initializes and uses PostgreSQL, MongoDB, and SQL Server containers. |
-| [Running EF Core Migrations](./samples/database-migrations) | C# | C# AppHost | Run only | Runs Entity Framework Core migrations inside Aspire workflows. |
-| [Persisting Data with Volume Mounts](./samples/volume-mount) | C# | C# AppHost | Run only | Demonstrates data persistence with containers, Azure Storage, and SQL Server. |
-| [Custom Aspire hosting resources](./samples/custom-resources) | C# | C# AppHost | Run only | Demonstrates authoring custom hosting resources with Aspire. |
+| [Aspire Shop](./samples/dotnet/aspire-shop) | C# | C# AppHost | Run only | Distributed e-commerce sample app demonstrating Aspire integration. |
+| [HealthChecksUI](./samples/dotnet/health-checks-ui) | C# | C# AppHost | Docker Compose | Demonstrates isolated health endpoints with HealthChecksUI. |
+| [Integrating Client Apps](./samples/dotnet/client-apps-integration) | C# | C# AppHost | Run only | Integrates Windows Forms and WPF apps with Aspire. |
+| [Integrating Orleans](./samples/dotnet/orleans-voting) | C# | C# AppHost | Run only | Distributed actor model sample built with Orleans. |
+| [Working with Database Containers](./samples/dotnet/database-containers) | C#, SQL | C# AppHost | Run only | Initializes and uses PostgreSQL, MongoDB, and SQL Server containers. |
+| [Running EF Core Migrations](./samples/dotnet/database-migrations) | C# | C# AppHost | Run only | Runs Entity Framework Core migrations inside Aspire workflows. |
+| [Persisting Data with Volume Mounts](./samples/dotnet/volume-mount) | C# | C# AppHost | Run only | Demonstrates data persistence with containers, Azure Storage, and SQL Server. |
+| [Custom Aspire hosting resources](./samples/dotnet/custom-resources) | C# | C# AppHost | Run only | Demonstrates authoring custom hosting resources with Aspire. |
## eShop
diff --git a/samples/Directory.Build.props b/samples/dotnet/Directory.Build.props
similarity index 100%
rename from samples/Directory.Build.props
rename to samples/dotnet/Directory.Build.props
diff --git a/samples/Metrics/.aspire/settings.json b/samples/dotnet/Metrics/.aspire/settings.json
similarity index 100%
rename from samples/Metrics/.aspire/settings.json
rename to samples/dotnet/Metrics/.aspire/settings.json
diff --git a/samples/dotnet/Metrics/Directory.Packages.props b/samples/dotnet/Metrics/Directory.Packages.props
new file mode 100644
index 000000000..dfd409277
--- /dev/null
+++ b/samples/dotnet/Metrics/Directory.Packages.props
@@ -0,0 +1,25 @@
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/Metrics/Metrics.slnx b/samples/dotnet/Metrics/Metrics.slnx
similarity index 100%
rename from samples/Metrics/Metrics.slnx
rename to samples/dotnet/Metrics/Metrics.slnx
diff --git a/samples/Metrics/MetricsApp.AppHost/AppHost.cs b/samples/dotnet/Metrics/MetricsApp.AppHost/AppHost.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/AppHost.cs
rename to samples/dotnet/Metrics/MetricsApp.AppHost/AppHost.cs
diff --git a/samples/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj b/samples/dotnet/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj
similarity index 72%
rename from samples/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj
rename to samples/dotnet/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj
index e1df47d86..1557ddc86 100644
--- a/samples/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj
+++ b/samples/dotnet/Metrics/MetricsApp.AppHost/MetricsApp.AppHost.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResource.cs b/samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResource.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResource.cs
rename to samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResource.cs
diff --git a/samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResourceBuilderExtensions.cs b/samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResourceBuilderExtensions.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResourceBuilderExtensions.cs
rename to samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/OpenTelemetryCollectorResourceBuilderExtensions.cs
diff --git a/samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/README.md b/samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/README.md
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/README.md
rename to samples/dotnet/Metrics/MetricsApp.AppHost/OpenTelemetryCollector/README.md
diff --git a/samples/Metrics/MetricsApp.AppHost/Properties/launchSettings.json b/samples/dotnet/Metrics/MetricsApp.AppHost/Properties/launchSettings.json
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/Properties/launchSettings.json
rename to samples/dotnet/Metrics/MetricsApp.AppHost/Properties/launchSettings.json
diff --git a/samples/Metrics/MetricsApp.AppHost/appsettings.json b/samples/dotnet/Metrics/MetricsApp.AppHost/appsettings.json
similarity index 100%
rename from samples/Metrics/MetricsApp.AppHost/appsettings.json
rename to samples/dotnet/Metrics/MetricsApp.AppHost/appsettings.json
diff --git a/samples/Metrics/MetricsApp.Client/App.razor b/samples/dotnet/Metrics/MetricsApp.Client/App.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/App.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/App.razor
diff --git a/samples/Metrics/MetricsApp.Client/Auth/IdentityAuthenticationStateProvider.cs b/samples/dotnet/Metrics/MetricsApp.Client/Auth/IdentityAuthenticationStateProvider.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Auth/IdentityAuthenticationStateProvider.cs
rename to samples/dotnet/Metrics/MetricsApp.Client/Auth/IdentityAuthenticationStateProvider.cs
diff --git a/samples/Metrics/MetricsApp.Client/Auth/IdentityHttpHandler.cs b/samples/dotnet/Metrics/MetricsApp.Client/Auth/IdentityHttpHandler.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Auth/IdentityHttpHandler.cs
rename to samples/dotnet/Metrics/MetricsApp.Client/Auth/IdentityHttpHandler.cs
diff --git a/samples/Metrics/MetricsApp.Client/Auth/UserInfo.cs b/samples/dotnet/Metrics/MetricsApp.Client/Auth/UserInfo.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Auth/UserInfo.cs
rename to samples/dotnet/Metrics/MetricsApp.Client/Auth/UserInfo.cs
diff --git a/samples/Metrics/MetricsApp.Client/Layout/MainLayout.razor b/samples/dotnet/Metrics/MetricsApp.Client/Layout/MainLayout.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Layout/MainLayout.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Layout/MainLayout.razor
diff --git a/samples/Metrics/MetricsApp.Client/Layout/MainLayout.razor.css b/samples/dotnet/Metrics/MetricsApp.Client/Layout/MainLayout.razor.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Layout/MainLayout.razor.css
rename to samples/dotnet/Metrics/MetricsApp.Client/Layout/MainLayout.razor.css
diff --git a/samples/Metrics/MetricsApp.Client/Layout/NavMenu.razor b/samples/dotnet/Metrics/MetricsApp.Client/Layout/NavMenu.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Layout/NavMenu.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Layout/NavMenu.razor
diff --git a/samples/Metrics/MetricsApp.Client/Layout/NavMenu.razor.css b/samples/dotnet/Metrics/MetricsApp.Client/Layout/NavMenu.razor.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Layout/NavMenu.razor.css
rename to samples/dotnet/Metrics/MetricsApp.Client/Layout/NavMenu.razor.css
diff --git a/samples/Metrics/MetricsApp.Client/MetricsApp.Client.csproj b/samples/dotnet/Metrics/MetricsApp.Client/MetricsApp.Client.csproj
similarity index 79%
rename from samples/Metrics/MetricsApp.Client/MetricsApp.Client.csproj
rename to samples/dotnet/Metrics/MetricsApp.Client/MetricsApp.Client.csproj
index efd04f288..ee60e8372 100644
--- a/samples/Metrics/MetricsApp.Client/MetricsApp.Client.csproj
+++ b/samples/dotnet/Metrics/MetricsApp.Client/MetricsApp.Client.csproj
@@ -9,10 +9,10 @@
-
-
-
-
+
+
+
+
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Auth.razor b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Auth.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Auth.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Auth.razor
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Auth.razor.css b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Auth.razor.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Auth.razor.css
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Auth.razor.css
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Home.razor b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Home.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Home.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Home.razor
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Home.razor.css b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Home.razor.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Home.razor.css
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Home.razor.css
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Weather.razor b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Weather.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Weather.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Weather.razor
diff --git a/samples/Metrics/MetricsApp.Client/Pages/Weather.razor.css b/samples/dotnet/Metrics/MetricsApp.Client/Pages/Weather.razor.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Pages/Weather.razor.css
rename to samples/dotnet/Metrics/MetricsApp.Client/Pages/Weather.razor.css
diff --git a/samples/Metrics/MetricsApp.Client/Program.cs b/samples/dotnet/Metrics/MetricsApp.Client/Program.cs
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Program.cs
rename to samples/dotnet/Metrics/MetricsApp.Client/Program.cs
diff --git a/samples/Metrics/MetricsApp.Client/Properties/launchSettings.json b/samples/dotnet/Metrics/MetricsApp.Client/Properties/launchSettings.json
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Properties/launchSettings.json
rename to samples/dotnet/Metrics/MetricsApp.Client/Properties/launchSettings.json
diff --git a/samples/Metrics/MetricsApp.Client/Shared/RedirectToLogin.razor b/samples/dotnet/Metrics/MetricsApp.Client/Shared/RedirectToLogin.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Shared/RedirectToLogin.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Shared/RedirectToLogin.razor
diff --git a/samples/Metrics/MetricsApp.Client/Shared/StatusMessage.razor b/samples/dotnet/Metrics/MetricsApp.Client/Shared/StatusMessage.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/Shared/StatusMessage.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/Shared/StatusMessage.razor
diff --git a/samples/Metrics/MetricsApp.Client/_Imports.razor b/samples/dotnet/Metrics/MetricsApp.Client/_Imports.razor
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/_Imports.razor
rename to samples/dotnet/Metrics/MetricsApp.Client/_Imports.razor
diff --git a/samples/Metrics/MetricsApp.Client/wwwroot/css/app.css b/samples/dotnet/Metrics/MetricsApp.Client/wwwroot/css/app.css
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/wwwroot/css/app.css
rename to samples/dotnet/Metrics/MetricsApp.Client/wwwroot/css/app.css
diff --git a/samples/Metrics/MetricsApp.Client/wwwroot/index.html b/samples/dotnet/Metrics/MetricsApp.Client/wwwroot/index.html
similarity index 100%
rename from samples/Metrics/MetricsApp.Client/wwwroot/index.html
rename to samples/dotnet/Metrics/MetricsApp.Client/wwwroot/index.html
diff --git a/samples/Metrics/MetricsApp/Auth.cs b/samples/dotnet/Metrics/MetricsApp/Auth.cs
similarity index 100%
rename from samples/Metrics/MetricsApp/Auth.cs
rename to samples/dotnet/Metrics/MetricsApp/Auth.cs
diff --git a/samples/Metrics/MetricsApp/ClientApi.cs b/samples/dotnet/Metrics/MetricsApp/ClientApi.cs
similarity index 100%
rename from samples/Metrics/MetricsApp/ClientApi.cs
rename to samples/dotnet/Metrics/MetricsApp/ClientApi.cs
diff --git a/samples/Metrics/MetricsApp/MetricsApp.csproj b/samples/dotnet/Metrics/MetricsApp/MetricsApp.csproj
similarity index 77%
rename from samples/Metrics/MetricsApp/MetricsApp.csproj
rename to samples/dotnet/Metrics/MetricsApp/MetricsApp.csproj
index 1eb594b00..0b57e87d8 100644
--- a/samples/Metrics/MetricsApp/MetricsApp.csproj
+++ b/samples/dotnet/Metrics/MetricsApp/MetricsApp.csproj
@@ -7,11 +7,11 @@
-
-
-
+
+
+
-
+
diff --git a/samples/Metrics/MetricsApp/Program.cs b/samples/dotnet/Metrics/MetricsApp/Program.cs
similarity index 100%
rename from samples/Metrics/MetricsApp/Program.cs
rename to samples/dotnet/Metrics/MetricsApp/Program.cs
diff --git a/samples/Metrics/MetricsApp/Properties/launchSettings.json b/samples/dotnet/Metrics/MetricsApp/Properties/launchSettings.json
similarity index 100%
rename from samples/Metrics/MetricsApp/Properties/launchSettings.json
rename to samples/dotnet/Metrics/MetricsApp/Properties/launchSettings.json
diff --git a/samples/Metrics/MetricsApp/appsettings.Development.json b/samples/dotnet/Metrics/MetricsApp/appsettings.Development.json
similarity index 100%
rename from samples/Metrics/MetricsApp/appsettings.Development.json
rename to samples/dotnet/Metrics/MetricsApp/appsettings.Development.json
diff --git a/samples/Metrics/MetricsApp/appsettings.json b/samples/dotnet/Metrics/MetricsApp/appsettings.json
similarity index 100%
rename from samples/Metrics/MetricsApp/appsettings.json
rename to samples/dotnet/Metrics/MetricsApp/appsettings.json
diff --git a/samples/Metrics/README.md b/samples/dotnet/Metrics/README.md
similarity index 100%
rename from samples/Metrics/README.md
rename to samples/dotnet/Metrics/README.md
diff --git a/samples/Metrics/ServiceDefaults/Extensions.cs b/samples/dotnet/Metrics/ServiceDefaults/Extensions.cs
similarity index 100%
rename from samples/Metrics/ServiceDefaults/Extensions.cs
rename to samples/dotnet/Metrics/ServiceDefaults/Extensions.cs
diff --git a/samples/Metrics/ServiceDefaults/ServiceDefaults.csproj b/samples/dotnet/Metrics/ServiceDefaults/ServiceDefaults.csproj
similarity index 72%
rename from samples/Metrics/ServiceDefaults/ServiceDefaults.csproj
rename to samples/dotnet/Metrics/ServiceDefaults/ServiceDefaults.csproj
index b80529341..e7060751e 100644
--- a/samples/Metrics/ServiceDefaults/ServiceDefaults.csproj
+++ b/samples/dotnet/Metrics/ServiceDefaults/ServiceDefaults.csproj
@@ -8,15 +8,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/samples/Metrics/grafana/config/grafana.ini b/samples/dotnet/Metrics/grafana/config/grafana.ini
similarity index 100%
rename from samples/Metrics/grafana/config/grafana.ini
rename to samples/dotnet/Metrics/grafana/config/grafana.ini
diff --git a/samples/Metrics/grafana/config/provisioning/dashboards/default.yaml b/samples/dotnet/Metrics/grafana/config/provisioning/dashboards/default.yaml
similarity index 100%
rename from samples/Metrics/grafana/config/provisioning/dashboards/default.yaml
rename to samples/dotnet/Metrics/grafana/config/provisioning/dashboards/default.yaml
diff --git a/samples/Metrics/grafana/config/provisioning/datasources/default.yaml b/samples/dotnet/Metrics/grafana/config/provisioning/datasources/default.yaml
similarity index 100%
rename from samples/Metrics/grafana/config/provisioning/datasources/default.yaml
rename to samples/dotnet/Metrics/grafana/config/provisioning/datasources/default.yaml
diff --git a/samples/Metrics/grafana/dashboards/aspnetcore-endpoint.json b/samples/dotnet/Metrics/grafana/dashboards/aspnetcore-endpoint.json
similarity index 100%
rename from samples/Metrics/grafana/dashboards/aspnetcore-endpoint.json
rename to samples/dotnet/Metrics/grafana/dashboards/aspnetcore-endpoint.json
diff --git a/samples/Metrics/grafana/dashboards/aspnetcore.json b/samples/dotnet/Metrics/grafana/dashboards/aspnetcore.json
similarity index 100%
rename from samples/Metrics/grafana/dashboards/aspnetcore.json
rename to samples/dotnet/Metrics/grafana/dashboards/aspnetcore.json
diff --git a/samples/Metrics/images/dashboard-screenshot.png b/samples/dotnet/Metrics/images/dashboard-screenshot.png
similarity index 100%
rename from samples/Metrics/images/dashboard-screenshot.png
rename to samples/dotnet/Metrics/images/dashboard-screenshot.png
diff --git a/samples/Metrics/images/metricsapp-dark.png b/samples/dotnet/Metrics/images/metricsapp-dark.png
similarity index 100%
rename from samples/Metrics/images/metricsapp-dark.png
rename to samples/dotnet/Metrics/images/metricsapp-dark.png
diff --git a/samples/Metrics/images/metricsapp-light.png b/samples/dotnet/Metrics/images/metricsapp-light.png
similarity index 100%
rename from samples/Metrics/images/metricsapp-light.png
rename to samples/dotnet/Metrics/images/metricsapp-light.png
diff --git a/samples/Metrics/images/metricsapp-weather-dark.png b/samples/dotnet/Metrics/images/metricsapp-weather-dark.png
similarity index 100%
rename from samples/Metrics/images/metricsapp-weather-dark.png
rename to samples/dotnet/Metrics/images/metricsapp-weather-dark.png
diff --git a/samples/Metrics/images/metricsapp-weather-light.png b/samples/dotnet/Metrics/images/metricsapp-weather-light.png
similarity index 100%
rename from samples/Metrics/images/metricsapp-weather-light.png
rename to samples/dotnet/Metrics/images/metricsapp-weather-light.png
diff --git a/samples/Metrics/otelcollector/config.yaml b/samples/dotnet/Metrics/otelcollector/config.yaml
similarity index 100%
rename from samples/Metrics/otelcollector/config.yaml
rename to samples/dotnet/Metrics/otelcollector/config.yaml
diff --git a/samples/Metrics/prometheus/prometheus.yml b/samples/dotnet/Metrics/prometheus/prometheus.yml
similarity index 100%
rename from samples/Metrics/prometheus/prometheus.yml
rename to samples/dotnet/Metrics/prometheus/prometheus.yml
diff --git a/samples/aspire-shop/.aspire/settings.json b/samples/dotnet/aspire-shop/.aspire/settings.json
similarity index 100%
rename from samples/aspire-shop/.aspire/settings.json
rename to samples/dotnet/aspire-shop/.aspire/settings.json
diff --git a/samples/aspire-shop/AspireShop.AppHost/AppHost.cs b/samples/dotnet/aspire-shop/AspireShop.AppHost/AppHost.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.AppHost/AppHost.cs
rename to samples/dotnet/aspire-shop/AspireShop.AppHost/AppHost.cs
diff --git a/samples/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj b/samples/dotnet/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj
similarity index 70%
rename from samples/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj
rename to samples/dotnet/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj
index 331b6a237..cc8e334d5 100644
--- a/samples/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.AppHost/AspireShop.AppHost.csproj
@@ -9,10 +9,10 @@
-
-
-
-
+
+
+
+
diff --git a/samples/aspire-shop/AspireShop.AppHost/Properties/launchSettings.json b/samples/dotnet/aspire-shop/AspireShop.AppHost/Properties/launchSettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.AppHost/Properties/launchSettings.json
rename to samples/dotnet/aspire-shop/AspireShop.AppHost/Properties/launchSettings.json
diff --git a/samples/aspire-shop/AspireShop.AppHost/appsettings.Development.json b/samples/dotnet/aspire-shop/AspireShop.AppHost/appsettings.Development.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.AppHost/appsettings.Development.json
rename to samples/dotnet/aspire-shop/AspireShop.AppHost/appsettings.Development.json
diff --git a/samples/aspire-shop/AspireShop.AppHost/appsettings.json b/samples/dotnet/aspire-shop/AspireShop.AppHost/appsettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.AppHost/appsettings.json
rename to samples/dotnet/aspire-shop/AspireShop.AppHost/appsettings.json
diff --git a/samples/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj b/samples/dotnet/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj
similarity index 67%
rename from samples/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj
index 72c45e9be..192329881 100644
--- a/samples/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.BasketService/AspireShop.BasketService.csproj
@@ -7,9 +7,9 @@
-
-
-
+
+
+
diff --git a/samples/aspire-shop/AspireShop.BasketService/BasketService.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/BasketService.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/BasketService.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/BasketService.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Models/BasketItem.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Models/BasketItem.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Models/BasketItem.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Models/BasketItem.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Models/CustomerBasket.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Models/CustomerBasket.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Models/CustomerBasket.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Models/CustomerBasket.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Models/DecimalValue.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Models/DecimalValue.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Models/DecimalValue.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Models/DecimalValue.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Models/Order.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Models/Order.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Models/Order.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Models/Order.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Program.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Program.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Program.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Program.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Properties/launchSettings.json b/samples/dotnet/aspire-shop/AspireShop.BasketService/Properties/launchSettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Properties/launchSettings.json
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Properties/launchSettings.json
diff --git a/samples/aspire-shop/AspireShop.BasketService/Protos/basket.proto b/samples/dotnet/aspire-shop/AspireShop.BasketService/Protos/basket.proto
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Protos/basket.proto
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Protos/basket.proto
diff --git a/samples/aspire-shop/AspireShop.BasketService/Repositories/IBasketRepository.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Repositories/IBasketRepository.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Repositories/IBasketRepository.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Repositories/IBasketRepository.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/Repositories/RedisBasketRepository.cs b/samples/dotnet/aspire-shop/AspireShop.BasketService/Repositories/RedisBasketRepository.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/Repositories/RedisBasketRepository.cs
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/Repositories/RedisBasketRepository.cs
diff --git a/samples/aspire-shop/AspireShop.BasketService/appsettings.Development.json b/samples/dotnet/aspire-shop/AspireShop.BasketService/appsettings.Development.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/appsettings.Development.json
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/appsettings.Development.json
diff --git a/samples/aspire-shop/AspireShop.BasketService/appsettings.json b/samples/dotnet/aspire-shop/AspireShop.BasketService/appsettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.BasketService/appsettings.json
rename to samples/dotnet/aspire-shop/AspireShop.BasketService/appsettings.json
diff --git a/samples/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj
similarity index 86%
rename from samples/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj
index e204ac36a..de9436ee4 100644
--- a/samples/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/AspireShop.CatalogDb.csproj
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/samples/aspire-shop/AspireShop.CatalogDb/CatalogBrand.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogBrand.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDb/CatalogBrand.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogBrand.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDb/CatalogDbContext.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogDbContext.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDb/CatalogDbContext.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogDbContext.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDb/CatalogItem.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogItem.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDb/CatalogItem.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogItem.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDb/CatalogType.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogType.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDb/CatalogType.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDb/CatalogType.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj
similarity index 84%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj
index 0034e6efc..5c93a3a06 100644
--- a/samples/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/AspireShop.CatalogDbManager.csproj
@@ -7,12 +7,12 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializer.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializer.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializer.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializer.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializerHealthCheck.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializerHealthCheck.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializerHealthCheck.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/CatalogDbInitializerHealthCheck.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.Designer.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.Designer.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.Designer.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.Designer.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/20241028194903_Initial.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/CatalogDbContextModelSnapshot.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/CatalogDbContextModelSnapshot.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/Migrations/CatalogDbContextModelSnapshot.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Migrations/CatalogDbContextModelSnapshot.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/Program.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Program.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/Program.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Program.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/Properties/launchSettings.json b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Properties/launchSettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/Properties/launchSettings.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/Properties/launchSettings.json
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/appsettings.Development.json b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/appsettings.Development.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/appsettings.Development.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/appsettings.Development.json
diff --git a/samples/aspire-shop/AspireShop.CatalogDbManager/appsettings.json b/samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/appsettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogDbManager/appsettings.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogDbManager/appsettings.json
diff --git a/samples/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj b/samples/dotnet/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj
similarity index 82%
rename from samples/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj
index 26a07d0e6..a651db4a7 100644
--- a/samples/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.CatalogService/AspireShop.CatalogService.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/samples/aspire-shop/AspireShop.CatalogService/CatalogApi.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogService/CatalogApi.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/CatalogApi.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/CatalogApi.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogService/CatalogService.http b/samples/dotnet/aspire-shop/AspireShop.CatalogService/CatalogService.http
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/CatalogService.http
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/CatalogService.http
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/1.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/1.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/1.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/1.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/10.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/10.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/10.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/10.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/11.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/11.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/11.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/11.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/12.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/12.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/12.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/12.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/13.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/13.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/13.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/13.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/14.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/14.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/14.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/14.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/2.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/2.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/2.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/2.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/3.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/3.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/3.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/3.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/4.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/4.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/4.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/4.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/5.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/5.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/5.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/5.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/6.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/6.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/6.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/6.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/7.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/7.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/7.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/7.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/8.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/8.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/8.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/8.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Images/9.png b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/9.png
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Images/9.png
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Images/9.png
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Program.cs b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Program.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Program.cs
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Program.cs
diff --git a/samples/aspire-shop/AspireShop.CatalogService/Properties/launchSettings.json b/samples/dotnet/aspire-shop/AspireShop.CatalogService/Properties/launchSettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/Properties/launchSettings.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/Properties/launchSettings.json
diff --git a/samples/aspire-shop/AspireShop.CatalogService/appsettings.Development.json b/samples/dotnet/aspire-shop/AspireShop.CatalogService/appsettings.Development.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/appsettings.Development.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/appsettings.Development.json
diff --git a/samples/aspire-shop/AspireShop.CatalogService/appsettings.json b/samples/dotnet/aspire-shop/AspireShop.CatalogService/appsettings.json
similarity index 100%
rename from samples/aspire-shop/AspireShop.CatalogService/appsettings.json
rename to samples/dotnet/aspire-shop/AspireShop.CatalogService/appsettings.json
diff --git a/samples/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj b/samples/dotnet/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj
similarity index 83%
rename from samples/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj
index b4803a2e0..7b0454597 100644
--- a/samples/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj
+++ b/samples/dotnet/aspire-shop/AspireShop.Frontend/AspireShop.Frontend.csproj
@@ -7,10 +7,10 @@
-
-
-
-
+
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
diff --git a/samples/aspire-shop/AspireShop.Frontend/Components/AddToCart.razor b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/AddToCart.razor
similarity index 100%
rename from samples/aspire-shop/AspireShop.Frontend/Components/AddToCart.razor
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/Components/AddToCart.razor
diff --git a/samples/aspire-shop/AspireShop.Frontend/Components/App.razor b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/App.razor
similarity index 100%
rename from samples/aspire-shop/AspireShop.Frontend/Components/App.razor
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/Components/App.razor
diff --git a/samples/aspire-shop/AspireShop.Frontend/Components/CartButton.razor b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/CartButton.razor
similarity index 100%
rename from samples/aspire-shop/AspireShop.Frontend/Components/CartButton.razor
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/Components/CartButton.razor
diff --git a/samples/aspire-shop/AspireShop.Frontend/Components/Icons.cs b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/Icons.cs
similarity index 100%
rename from samples/aspire-shop/AspireShop.Frontend/Components/Icons.cs
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/Components/Icons.cs
diff --git a/samples/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor
similarity index 93%
rename from samples/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor
rename to samples/dotnet/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor
index 378a9bac8..6d97f4cef 100644
--- a/samples/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor
+++ b/samples/dotnet/aspire-shop/AspireShop.Frontend/Components/Layout/AppFooter.razor
@@ -1,4 +1,4 @@
-