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