Dela via


.NET .NET Aspire SDK

SDK:t för .NET.NET Aspire är avsett för *.AppHost projekt, som fungerar som .NET.NET Aspire orkestrerare. Dessa projekt utses med hjälp av egenskapen <IsAspireHost>true</IsAspireHost> samt anger Aspire.AppHost.Sdk i projektfilen. SDK innehåller en uppsättning funktioner som förenklar utvecklingen av .NET.NET Aspire appar.

Överblick

Den 📦Aspire. AppHost.Sdk är en additiv MSBuild-projekt-SDK för att skapa .NET.NET 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.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>

Föregående exempelprojekt definierar SDK på den översta nivån som Microsoft.NET.Sdk och Aspire.AppHost.Sdk som en additiv SDK. Egenskapen IsAspireHost är inställd på true för att indikera att projektet är en .NET.NET Aspire appvärd. Projektet refererar också till Aspire.Hosting.AppHost-paketet som innehåller ett antal Aspire-relaterade beroenden.

SDK-funktioner

.NET .NET Aspire SDK innehåller flera viktiga funktioner.

Projektreferenser

Varje ProjectReference i .NET.NET Aspire värdapplikation-projekt behandlas inte som standardprojektreferenser. I stället möjliggör de för appvärd att köra dessa projekt som en del av sin orkestrering. 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å ett transditionellt sätt i appvärden anger du attributet IsAspireProjectResourceProjectReference-elementet till false, som du ser i följande exempel:

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

Orchestrator-beroenden

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

När appvärdprojektet körs förlitar sig orkestratorn på dessa beroenden för att tillhandahålla nödvändiga funktioner till appvärden. För mer information, se .NET.NET Aspire orkestreringsöversikt.