Dela via


Aspire SDK

Aspire SDK:t är avsett för *. AppHost-projekt, som fungerar som Aspire orkestrerare. Dessa projekt utses genom deras användning av Aspire.AppHost.Sdk i projektfilen. SDK innehåller en uppsättning funktioner som förenklar utvecklingen av Aspire appar.

Överblick

.📦Aspire AppHost.Sdk är en additiv MSBuild-projekt-SDK för att skapa Aspire appar. Aspire.AppHost.Sdk definieras med en Project/Sdkpå den översta nivån:

<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>

Föregående exempelprojekt definierar SDK på den översta nivån som Microsoft.NET.Sdk och Aspire.AppHost.Sdk som en additiv SDK. Projektet refererar också till Aspire.Hosting.AppHost-paketet som innehåller ett antal Aspire-relaterade beroenden.

SDK-funktioner

Aspire SDK:et innehåller flera viktiga funktioner.

Projektreferenser

Varje ProjectReference i Aspire AppHost-projektet behandlas inte som standardprojektreferenser. I stället gör de det möjligt för AppHost att köra dessa projekt som en del av orkestreringen. Varje projektreferens utlöser en generator för att skapa en class som representerar projektet som en IProjectMetadata. Dessa metadata används för att fylla i de namngivna projekten i det genererade Projects namnområdet. När du anropar Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject-API:et används Projects namnområde för att referera till projektet – och skickar den genererade klassen som en parameter av generisk typ.

Tips

Om du behöver referera till ett projekt på traditionellt sätt i AppHost anger du IsAspireProjectResource attributet för elementet ProjectReference till false, som du ser i följande exempel:

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

Annars behandlas som standard ProjectReference som Aspire projektresurs.

Orkestreringsberoenden

Aspire SDK lägger dynamiskt till referenser till Aspire instrumentpanelen och andra AppHost-beroenden, till exempel DCP-paket (Developer Control Plane). Dessa beroenden är specifika för den plattform som AppHost bygger på.

När AppHost-projektet körs förlitar sig orkestratorn på dessa beroenden för att tillhandahålla nödvändiga funktioner till AppHost. Mer information finns i Aspire översikt över orkestrering.