SDK Aspire 适用于 *.AppHost 项目,作为 Aspire 编排程序。 这些项目由项目文件中的 Aspire.AppHost.Sdk 用法指定。 SDK 提供了一组简化应用开发 Aspire 的功能。
概述
Aspire.AppHost.Sdk 使用顶级 Project/Sdk定义:
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.5.2" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<!-- Omitted for brevity -->
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.5.2" />
</ItemGroup>
<!-- Omitted for brevity -->
</Project>
前面的示例项目将顶级 SDK 定义为 Microsoft.NET.Sdk,将 Aspire.AppHost.Sdk 定义为累加 SDK。 该项目还引用 Aspire.Hosting.AppHost 包,该包带来了许多与 Aspire相关的依赖项。
SDK 功能
Aspire SDK 提供了几个关键功能。
项目参考
Aspire 项目中的每一个都不被视为标准项目引用。 相反,它们允许 AppHost 在其业务流程中执行这些项目。 每个项目引用都会触发一个生成器,以创建一个 class,该 class 将项目表示为 。 此元数据用于填充生成的 Projects 命名空间中的命名项目。 调用 Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject API 时,Projects 命名空间用于引用项目,将生成的类作为泛型类型参数传递。
Tip
如果需要以传统方式在 AppHost 中引用项目,请将IsAspireProjectResourceProjectReference元素上的属性设置为false,如以下示例所示:
<ProjectReference Include="..\MyProject\MyProject.csproj" IsAspireProjectResource="false" />
否则,默认情况下,该 ProjectReference 资源被视为 Aspire 项目资源。
编排器依赖项
Aspire SDK 动态添加对Aspire仪表板和其他 AppHost 依赖项的引用,例如开发人员控制平面 (DCP) 包。 这些依赖项特定于 AppHost 构建的平台。
当 AppHost 项目运行时,业务流程协调程序依赖这些依赖项向 AppHost 提供必要的功能。 有关详细信息,请参阅 Aspire 业务流程概述。