.NET
.NET Aspire SDK 适用于 *.AppHost 项目,用作 .NET.NET Aspire 协调器。 These projects are designated by their usage of the Aspire.AppHost.Sdk
in the project file. SDK 提供了一组功能,可简化 .NET.NET Aspire 应用的开发。
概述
The 📦Aspire.AppHost.Sdk is an additive MSBuild project SDK for building .NET.NET Aspire apps.
Aspire.AppHost.Sdk
使用顶级 Project/Sdk
定义:
<Project Sdk="Microsoft.NET.Sdk">
<Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<!-- Omitted for brevity -->
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
</ItemGroup>
<!-- Omitted for brevity -->
</Project>
前面的示例项目将顶级 SDK 定义为 Microsoft.NET.Sdk
,将 Aspire.AppHost.Sdk
定义为累加 SDK。 该项目还引用 Aspire.Hosting.AppHost
包,该包带来了许多与 Aspire相关的依赖项。
SDK 功能
.NET .NET Aspire SDK 提供了几个关键功能。
项目参考
Each ProjectReference
in the .NET.NET Aspire app host project isn't treated as standard project references. 相反,它们使 应用主机 能够作为其编排的一部分执行这些项目。 Each project reference triggers a generator to create a class
that represents the project as an IProjectMetadata. 此元数据用于填充生成的 Projects
命名空间中的命名项目。 调用 Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject API 时,Projects
命名空间用于引用项目,将生成的类作为泛型类型参数传递。
Tip
If you need to reference a project in the traditional way within the app host, set the IsAspireProjectResource
attribute on the ProjectReference
element to false
, as shown in the following example:
<ProjectReference Include="..\MyProject\MyProject.csproj" IsAspireProjectResource="false" />
Otherwise, by default, the ProjectReference
is treated as .NET.NET Aspire project resource.
Orchestrator dependencies
The .NET.NET Aspire SDK dynamically adds references to the .NET.NET Aspire dashboard and other app host dependencies, such as the developer control plane (DCP) packages. 这些依赖项特定于应用主机构建的平台。
当应用主机项目运行时,业务流程协调程序依赖于这些依赖项来向应用主机提供必要的功能。 有关详细信息,请参阅 .NET.NET Aspire 业务流程概述。