Skip to content

Commit 4c91cfd

Browse files
tommasodotNETcrickmandluc
authored
.Net: Adds Process Framework with Aspire demo (#10614)
### Motivation and Context This demo aims to showcase how the [Semantic Kernel Process Framework](https://learn.microsoft.com/en-us/semantic-kernel/overview/) can be used with [.NET Aspire](https://learn.microsoft.com/en-us/dotnet/aspire/get-started/aspire-overview). The Process Framework allows developers to create business processes based on events. Each step of the process can be an agent or native code. ### Description In this demo, I have defined the agents as external services, and each step will call these agents using HTTP requests. This setup allows .NET Aspire to add value by tracing the process using OpenTelemetry. Additionally, since each agent is a service, they can be restarted as needed using the .NET Aspire developer dashboard. ![architecture](https://github.com/user-attachments/assets/e8a570f9-6887-4fa2-8e3d-7a7ec9225c41) ### Why .NET Aspire? Thanks to .NET Aspire, developers can leverage the developer dashboard to debug in real time the Process and all the agents running. Since the agents are single APIs, each can scale independently from each other. ![aspire-dashboard](https://github.com/user-attachments/assets/93a6b043-2b87-4d18-a5e9-929690146443) ![aspire-metrics](https://github.com/user-attachments/assets/1ae308dd-3be0-465d-a4cb-411efd77fd23) ![aspire-traces](https://github.com/user-attachments/assets/86fd9da1-d289-48d9-83ad-c90cdfeaf740) ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄 --------- Co-authored-by: Chris Rickman <crickman@microsoft.com> Co-authored-by: Chris <66376200+crickman@users.noreply.github.com> Co-authored-by: Devis Lucato <dluc@users.noreply.github.com>
1 parent f431685 commit 4c91cfd

33 files changed

+897
-2
lines changed

.github/_typos.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ extend-exclude = [
2424
"PopulationByAdmin1.csv",
2525
"WomensSuffrage.txt",
2626
"SK-dotnet.sln.DotSettings",
27-
"**/azure_ai_search_hotel_samples/README.md"
27+
"**/azure_ai_search_hotel_samples/README.md",
28+
"**/Demos/ProcessFrameworkWithAspire/ProcessFramework.Aspire/ProcessFramework.Aspire.ProcessOrchestrator/Program.cs",
29+
"**/Demos/ProcessFrameworkWithAspire/**/*.http"
2830
]
2931

3032
[default.extend-words]

dotnet/Directory.Packages.props

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
<PackageVersion Include="AWSSDK.BedrockAgentRuntime" Version="4.0.0-preview.5" />
1010
<PackageVersion Include="AWSSDK.BedrockRuntime" Version="4.0.0-preview.5" />
1111
<PackageVersion Include="AWSSDK.Core" Version="4.0.0-preview.5" />
12+
<PackageVersion Include="Aspire.Azure.AI.OpenAI" Version="9.0.0-preview.5.24551.3" />
13+
<PackageVersion Include="Aspire.Hosting.AppHost" Version="9.0.0" />
14+
<PackageVersion Include="Aspire.Hosting.Azure.CognitiveServices" Version="9.0.0" />
1215
<PackageVersion Include="AWSSDK.Extensions.NETCore.Setup" Version="4.0.0-preview.5" />
1316
<PackageVersion Include="Azure.AI.ContentSafety" Version="1.0.0" />
1417
<PackageVersion Include="Azure.AI.Inference" Version="1.0.0-beta.2" />
@@ -22,6 +25,7 @@
2225
<PackageVersion Include="Dapr.AspNetCore" Version="1.14.0" />
2326
<PackageVersion Include="FastBertTokenizer" Version="1.0.28" />
2427
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0" />
28+
<PackageVersion Include="Microsoft.AspNetCore.OpenApi" Version="8.0.13" />
2529
<PackageVersion Include="Microsoft.ML.Tokenizers.Data.Cl100kBase" Version="1.0.0" />
2630
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.5.1" />
2731
<PackageVersion Include="Microsoft.VisualStudio.Threading" Version="17.12.19" />
@@ -53,6 +57,11 @@
5357
<PackageVersion Include="OllamaSharp" Version="5.0.7" />
5458
<PackageVersion Include="OpenAI" Version="[2.2.0-beta.1]" />
5559
<PackageVersion Include="OpenTelemetry.Exporter.Console" Version="1.9.0" />
60+
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0" />
61+
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0" />
62+
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.9.0" />
63+
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.9.0" />
64+
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.9.0" />
5665
<PackageVersion Include="PdfPig" Version="0.1.9" />
5766
<PackageVersion Include="Pinecone.NET" Version="2.1.1" />
5867
<PackageVersion Include="Prompty.Core" Version="0.0.23-alpha" />
@@ -78,14 +87,16 @@
7887
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
7988
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
8089
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
81-
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
90+
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables"
91+
Version="8.0.0" />
8292
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
8393
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.0" />
8494
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
8595
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
8696
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.0" />
8797
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.1" />
8898
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="8.9.1" />
99+
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="9.0.0" />
89100
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.1" />
90101
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.2" />
91102
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.0" />

dotnet/SK-dotnet.sln

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,22 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plugins.AI.UnitTests", "src
445445
EndProject
446446
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Connectors.Postgres.UnitTests", "src\Connectors\Connectors.Postgres.UnitTests\Connectors.Postgres.UnitTests.csproj", "{2A1EC0DA-AD01-4421-AADC-1DFF65C71CCC}"
447447
EndProject
448+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ProcessFrameworkWithAspire", "ProcessFrameworkWithAspire", "{3F260A77-B6C9-97FD-1304-4B34DA936CF4}"
449+
ProjectSection(SolutionItems) = preProject
450+
samples\Demos\ProcessFrameworkWithAspire\README.md = samples\Demos\ProcessFrameworkWithAspire\README.md
451+
EndProjectSection
452+
EndProject
453+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.AppHost", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.AppHost\ProcessFramework.Aspire.AppHost.csproj", "{2756FED3-ABC1-4F58-932E-5DD05A5EE066}"
454+
EndProject
455+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.ProcessOrchestrator", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.ProcessOrchestrator\ProcessFramework.Aspire.ProcessOrchestrator.csproj", "{05E102FA-A766-4B10-B95A-54060AB56596}"
456+
EndProject
457+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.ServiceDefaults", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.ServiceDefaults\ProcessFramework.Aspire.ServiceDefaults.csproj", "{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}"
458+
EndProject
459+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.Shared", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.Shared\ProcessFramework.Aspire.Shared.csproj", "{6FE977F6-D508-4DF0-951F-749B0D5C7109}"
460+
EndProject
461+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.SummaryAgent", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.SummaryAgent\ProcessFramework.Aspire.SummaryAgent.csproj", "{37381352-4F10-427F-AB8A-51FEAB265201}"
462+
EndProject
463+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProcessFramework.Aspire.TranslatorAgent", "samples\Demos\ProcessFrameworkWithAspire\ProcessFramework.Aspire\ProcessFramework.Aspire.TranslatorAgent\ProcessFramework.Aspire.TranslatorAgent.csproj", "{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}"
448464
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Agents.Bedrock", "src\Agents\Bedrock\Agents.Bedrock.csproj", "{8C658E1E-83C8-4127-B8BF-27A638A45DDD}"
449465
EndProject
450466
Global
@@ -1198,6 +1214,42 @@ Global
11981214
{2A1EC0DA-AD01-4421-AADC-1DFF65C71CCC}.Publish|Any CPU.Build.0 = Debug|Any CPU
11991215
{2A1EC0DA-AD01-4421-AADC-1DFF65C71CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
12001216
{2A1EC0DA-AD01-4421-AADC-1DFF65C71CCC}.Release|Any CPU.Build.0 = Release|Any CPU
1217+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1218+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Debug|Any CPU.Build.0 = Debug|Any CPU
1219+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1220+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Publish|Any CPU.Build.0 = Debug|Any CPU
1221+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Release|Any CPU.ActiveCfg = Release|Any CPU
1222+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066}.Release|Any CPU.Build.0 = Release|Any CPU
1223+
{05E102FA-A766-4B10-B95A-54060AB56596}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1224+
{05E102FA-A766-4B10-B95A-54060AB56596}.Debug|Any CPU.Build.0 = Debug|Any CPU
1225+
{05E102FA-A766-4B10-B95A-54060AB56596}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1226+
{05E102FA-A766-4B10-B95A-54060AB56596}.Publish|Any CPU.Build.0 = Debug|Any CPU
1227+
{05E102FA-A766-4B10-B95A-54060AB56596}.Release|Any CPU.ActiveCfg = Release|Any CPU
1228+
{05E102FA-A766-4B10-B95A-54060AB56596}.Release|Any CPU.Build.0 = Release|Any CPU
1229+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1230+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Debug|Any CPU.Build.0 = Debug|Any CPU
1231+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1232+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Publish|Any CPU.Build.0 = Debug|Any CPU
1233+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Release|Any CPU.ActiveCfg = Release|Any CPU
1234+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623}.Release|Any CPU.Build.0 = Release|Any CPU
1235+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1236+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Debug|Any CPU.Build.0 = Debug|Any CPU
1237+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1238+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Publish|Any CPU.Build.0 = Debug|Any CPU
1239+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Release|Any CPU.ActiveCfg = Release|Any CPU
1240+
{6FE977F6-D508-4DF0-951F-749B0D5C7109}.Release|Any CPU.Build.0 = Release|Any CPU
1241+
{37381352-4F10-427F-AB8A-51FEAB265201}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1242+
{37381352-4F10-427F-AB8A-51FEAB265201}.Debug|Any CPU.Build.0 = Debug|Any CPU
1243+
{37381352-4F10-427F-AB8A-51FEAB265201}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1244+
{37381352-4F10-427F-AB8A-51FEAB265201}.Publish|Any CPU.Build.0 = Debug|Any CPU
1245+
{37381352-4F10-427F-AB8A-51FEAB265201}.Release|Any CPU.ActiveCfg = Release|Any CPU
1246+
{37381352-4F10-427F-AB8A-51FEAB265201}.Release|Any CPU.Build.0 = Release|Any CPU
1247+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
1248+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Debug|Any CPU.Build.0 = Debug|Any CPU
1249+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Publish|Any CPU.ActiveCfg = Debug|Any CPU
1250+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Publish|Any CPU.Build.0 = Debug|Any CPU
1251+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Release|Any CPU.ActiveCfg = Release|Any CPU
1252+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A}.Release|Any CPU.Build.0 = Release|Any CPU
12011253
{8C658E1E-83C8-4127-B8BF-27A638A45DDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
12021254
{8C658E1E-83C8-4127-B8BF-27A638A45DDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
12031255
{8C658E1E-83C8-4127-B8BF-27A638A45DDD}.Publish|Any CPU.ActiveCfg = Publish|Any CPU
@@ -1368,6 +1420,13 @@ Global
13681420
{0C64EC81-8116-4388-87AD-BA14D4B59974} = {D6D598DF-C17C-46F4-B2B9-CDE82E2DE132}
13691421
{03ACF9DD-00C9-4F2B-80F1-537E2151AF5F} = {D6D598DF-C17C-46F4-B2B9-CDE82E2DE132}
13701422
{2A1EC0DA-AD01-4421-AADC-1DFF65C71CCC} = {5A7028A7-4DDF-4E4F-84A9-37CE8F8D7E89}
1423+
{3F260A77-B6C9-97FD-1304-4B34DA936CF4} = {5D4C0700-BBB5-418F-A7B2-F392B9A18263}
1424+
{2756FED3-ABC1-4F58-932E-5DD05A5EE066} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
1425+
{05E102FA-A766-4B10-B95A-54060AB56596} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
1426+
{4FA81B79-85D1-4B5D-B0D3-1EDBEF05A623} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
1427+
{6FE977F6-D508-4DF0-951F-749B0D5C7109} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
1428+
{37381352-4F10-427F-AB8A-51FEAB265201} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
1429+
{DAD5FC6A-8CA0-43AC-87E1-032DFBD6B02A} = {3F260A77-B6C9-97FD-1304-4B34DA936CF4}
13711430
{8C658E1E-83C8-4127-B8BF-27A638A45DDD} = {6823CD5E-2ABE-41EB-B865-F86EC13F0CF9}
13721431
EndGlobalSection
13731432
GlobalSection(ExtensibilityGlobals) = postSolution
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />
4+
5+
<PropertyGroup>
6+
<OutputType>Exe</OutputType>
7+
<TargetFramework>net8.0</TargetFramework>
8+
<RollForward>LatestMajor</RollForward>
9+
<ImplicitUsings>enable</ImplicitUsings>
10+
<Nullable>enable</Nullable>
11+
<IsAspireHost>true</IsAspireHost>
12+
<UserSecretsId>61efcc24-41eb-4a92-8ebe-64de14ed54dd</UserSecretsId>
13+
<NoWarn>$(NoWarn);CS1591</NoWarn>
14+
</PropertyGroup>
15+
16+
<ItemGroup>
17+
<PackageReference Include="Aspire.Hosting.AppHost" />
18+
<PackageReference Include="Aspire.Hosting.Azure.CognitiveServices" />
19+
</ItemGroup>
20+
21+
<ItemGroup>
22+
<ProjectReference
23+
Include="..\..\..\..\..\src\Experimental\Process.LocalRuntime\Process.LocalRuntime.csproj">
24+
<IsAspireProjectResource>false</IsAspireProjectResource>
25+
</ProjectReference>
26+
<ProjectReference
27+
Include="..\ProcessFramework.Aspire.ProcessOrchestrator\ProcessFramework.Aspire.ProcessOrchestrator.csproj" />
28+
<ProjectReference
29+
Include="..\ProcessFramework.Aspire.SummaryAgent\ProcessFramework.Aspire.SummaryAgent.csproj" />
30+
<ProjectReference
31+
Include="..\ProcessFramework.Aspire.TranslatorAgent\ProcessFramework.Aspire.TranslatorAgent.csproj" />
32+
</ItemGroup>
33+
34+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright (c) Microsoft. All rights reserved.
2+
3+
var builder = DistributedApplication.CreateBuilder(args);
4+
5+
var openai = builder.AddConnectionString("openAiConnectionName");
6+
7+
var translateAgent = builder.AddProject<Projects.ProcessFramework_Aspire_TranslatorAgent>("translatoragent")
8+
.WithReference(openai);
9+
10+
var summaryAgent = builder.AddProject<Projects.ProcessFramework_Aspire_SummaryAgent>("summaryagent")
11+
.WithReference(openai);
12+
13+
var processOrchestrator = builder.AddProject<Projects.ProcessFramework_Aspire_ProcessOrchestrator>("processorchestrator")
14+
.WithReference(translateAgent)
15+
.WithReference(summaryAgent);
16+
17+
builder.Build().Run();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"Logging": {
3+
"LogLevel": {
4+
"Default": "Information",
5+
"Microsoft.AspNetCore": "Warning",
6+
"Aspire.Hosting.Dcp": "Warning"
7+
}
8+
},
9+
"ConnectionStrings": {
10+
"openAiConnectionName": "https://{account_name}.openai.azure.com/"
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright (c) Microsoft. All rights reserved.
2+
3+
namespace ProcessFramework.Aspire.ProcessOrchestrator.Models;
4+
5+
public static class ProcessEvents
6+
{
7+
public static readonly string TranslateDocument = nameof(TranslateDocument);
8+
public static readonly string DocumentTranslated = nameof(DocumentTranslated);
9+
public static readonly string SummarizeDocument = nameof(SummarizeDocument);
10+
public static readonly string DocumentSummarized = nameof(DocumentSummarized);
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net8.0</TargetFramework>
5+
<RollForward>LatestMajor</RollForward>
6+
<Nullable>enable</Nullable>
7+
<ImplicitUsings>enable</ImplicitUsings>
8+
<NoWarn>
9+
$(NoWarn);CS8618,IDE0009,CA1051,CA1050,CA1707,CA1054,CA2007,VSTHRD111,CS1591,RCS1110,RCS1243,CA5394,SKEXP0001,SKEXP0010,SKEXP0020,SKEXP0040,SKEXP0050,SKEXP0060,SKEXP0070,SKEXP0080,SKEXP0101,SKEXP0110,OPENAI001
10+
</NoWarn>
11+
</PropertyGroup>
12+
13+
<ItemGroup>
14+
<PackageReference Include="Microsoft.AspNetCore.OpenApi" />
15+
<PackageReference Include="Aspire.Azure.AI.OpenAI" />
16+
</ItemGroup>
17+
18+
<ItemGroup>
19+
<ProjectReference Include="..\..\..\..\..\src\Experimental\Process.Core\Process.Core.csproj" />
20+
<ProjectReference
21+
Include="..\..\..\..\..\src\Experimental\Process.LocalRuntime\Process.LocalRuntime.csproj" />
22+
<ProjectReference
23+
Include="..\ProcessFramework.Aspire.ServiceDefaults\ProcessFramework.Aspire.ServiceDefaults.csproj" />
24+
<ProjectReference
25+
Include="..\ProcessFramework.Aspire.Shared\ProcessFramework.Aspire.Shared.csproj" />
26+
</ItemGroup>
27+
28+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
GET https://localhost:7207/api/processdoc
2+
Accept: application/json
3+
4+
###
5+

0 commit comments

Comments
 (0)