次の方法で共有


.NET .NET Aspire SDK

.NET .NET Aspire SDK は、* を対象としています。AppHost プロジェクト。これは、.NET.NET Aspire オーケストレーターとして機能します。 これらのプロジェクトは、プロジェクト ファイル内の Aspire.AppHost.Sdk を指定するだけでなく、<IsAspireHost>true</IsAspireHost> プロパティを使用して指定されます。 SDK には、.NET.NET Aspire アプリの開発を簡略化する一連の機能が用意されています。

概要

.AppHost.Sdk は、 アプリを構築するための 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 プロパティは、このプロジェクトが .NET.NET Aspire アプリ ホストであることを示す true に設定されます。 プロジェクトでは、Aspire.Hosting.AppHost パッケージも参照されます。これにより、Aspire関連する依存関係が多数取り込まれます。

SDK の機能

.NET .NET Aspire SDK には、いくつかの重要な機能が用意されています。

プロジェクト参照

.NET .NET Aspire アプリ ホスト プロジェクト内の各 ProjectReference は、標準のプロジェクト参照として扱われません。 代わりに、アプリ ホスト がオーケストレーションの一部としてこれらのプロジェクトを実行できるようにします。 各プロジェクト参照は、ジェネレーターをトリガーして、プロジェクトを IProjectMetadataとして表す class を作成します。 このメタデータは、生成された Projects 名前空間に名前付きプロジェクトを設定するために使用されます。 Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject API を呼び出すと、Projects 名前空間を使用してプロジェクトが参照され、生成されたクラスがジェネリック型パラメーターとして渡されます。

ヒント (if referring to advice) / チップ (if referring to gratuity)

アプリ ホスト内で独自の方法でプロジェクトを参照する必要がある場合は、次の例に示すように、ProjectReference 要素の IsAspireProjectResource 属性を falseに設定します。

<ProjectReference Include="..\MyProject\MyProject.csproj" IsAspireProjectResource="false" />

オーケストレーターの依存関係

.NET .NET Aspire SDK は、.NET.NET Aspire ダッシュボード およびその他のアプリ ホストの依存関係 (開発者コントロール プレーン (DCP) パッケージなど) への参照を動的に追加します。 これらの依存関係は、アプリ ホストが構築されているプラットフォームに固有です。

アプリ ホスト プロジェクトを実行すると、オーケストレーターはこれらの依存関係に依存して、アプリ ホストに必要な機能を提供します。 詳細については、オーケストレーションの概要 参照してください。