Aspire SDK は *.AppHost プロジェクトを対象としており、これらはAspire オーケストレーターの役割を果たします。 これらのプロジェクトは、プロジェクト ファイル内の Aspire.AppHost.Sdk を使用することによって指定されます。 SDK には、 Aspire アプリの開発を簡略化する一連の機能が用意されています。
概要
📦
Aspire。AppHost.Sdk は、Aspireをビルドするための追加の MSBuild プロジェクト SDK です。
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として表す IProjectMetadata を作成します。 このメタデータは、生成された Projects 名前空間に名前付きプロジェクトを設定するために使用されます。
Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject API を呼び出すと、Projects 名前空間を使用してプロジェクトが参照され、生成されたクラスがジェネリック型パラメーターとして渡されます。
ヒント (if referring to advice) / チップ (if referring to gratuity)
AppHost 内で従来の方法でプロジェクトを参照する必要がある場合は、次の例に示すように、IsAspireProjectResource要素のProjectReference属性をfalseに設定します。
<ProjectReference Include="..\MyProject\MyProject.csproj" IsAspireProjectResource="false" />
それ以外の場合、既定では、 ProjectReference はプロジェクト リソース Aspire 扱われます。
オーケストレーターの依存関係
Aspire SDK は、Aspire ダッシュボードとその他の AppHost 依存関係 (開発者コントロール プレーン (DCP) パッケージなど) への参照を動的に追加します。 これらの依存関係は、AppHost が構築されているプラットフォームに固有です。
AppHost プロジェクトを実行すると、オーケストレーターはこれらの依存関係に依存して、AppHost に必要な機能を提供します。 詳細については、オーケストレーションの概要Aspire参照してください。
Aspire