diff --git a/Aspire.slnx b/Aspire.slnx
index 52300ace4ae..4ea6dbc4cdc 100644
--- a/Aspire.slnx
+++ b/Aspire.slnx
@@ -142,6 +142,10 @@
+
+
+
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 7be83c1fba4..6f47a76767e 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -174,6 +174,9 @@
+
+
+
diff --git a/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/AzureFunctionsWithDts.AppHost.csproj b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/AzureFunctionsWithDts.AppHost.csproj
new file mode 100644
index 00000000000..141e339b6f1
--- /dev/null
+++ b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/AzureFunctionsWithDts.AppHost.csproj
@@ -0,0 +1,22 @@
+
+
+
+ Exe
+ $(DefaultTargetFramework)
+ enable
+ enable
+ true
+ DC3A64A6-3991-41E2-956F-BFACC8091EC1
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Program.cs b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Program.cs
new file mode 100644
index 00000000000..ff0e39fb7be
--- /dev/null
+++ b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Program.cs
@@ -0,0 +1,13 @@
+var builder = DistributedApplication.CreateBuilder(args);
+
+var storage = builder.AddAzureStorage("storage").RunAsEmulator();
+
+var scheduler = builder.AddDurableTaskScheduler("scheduler").RunAsEmulator();
+
+var taskHub = scheduler.AddTaskHub("taskhub");
+
+builder.AddAzureFunctionsProject("funcapp")
+ .WithHostStorage(storage)
+ .WithReference(taskHub);
+
+builder.Build().Run();
diff --git a/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Properties/launchSettings.json b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Properties/launchSettings.json
new file mode 100644
index 00000000000..f5f441697c0
--- /dev/null
+++ b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.AppHost/Properties/launchSettings.json
@@ -0,0 +1,41 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "https": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "https://localhost:17244;http://localhost:15054",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21003",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22110"
+ }
+ },
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "applicationUrl": "http://localhost:15054",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19010",
+ "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20125"
+ }
+ },
+ "generate-manifest": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "dotnetRunMessages": true,
+ "commandLineArgs": "--publisher manifest --output-path aspire-manifest.json",
+ "applicationUrl": "http://localhost:15888",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development",
+ "DOTNET_ENVIRONMENT": "Development",
+ "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:16175"
+ }
+ }
+ }
+}
diff --git a/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/AzureFunctionsWithDts.Functions.csproj b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/AzureFunctionsWithDts.Functions.csproj
new file mode 100644
index 00000000000..ca8d05550d1
--- /dev/null
+++ b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/AzureFunctionsWithDts.Functions.csproj
@@ -0,0 +1,43 @@
+
+
+ $(DefaultTargetFramework)
+ v4
+ Exe
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+ Never
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/MyOrchestrationTrigger.cs b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/MyOrchestrationTrigger.cs
new file mode 100644
index 00000000000..18a9be7d909
--- /dev/null
+++ b/playground/AzureFunctionsWithDts/AzureFunctionsWithDts.Functions/MyOrchestrationTrigger.cs
@@ -0,0 +1,29 @@
+using Microsoft.Azure.Functions.Worker;
+using Microsoft.DurableTask;
+using Microsoft.Extensions.Logging;
+
+public class MyOrchestrationTrigger
+{
+ [Function("Chaining")]
+ public static async Task