Freigeben über


.NET .NET Aspire SDK

Das .NET.NET Aspire SDK ist für *.AppHost Projektevorgesehen, die als .NET.NET Aspire Orchestrator dienen. Diese Projekte werden mithilfe der <IsAspireHost>true</IsAspireHost>-Eigenschaft festgelegt sowie durch die Spezifizierung von Aspire.AppHost.Sdk in der Projektdatei. Das SDK bietet eine Reihe von Features, die die Entwicklung von .NET.NET Aspire-Apps vereinfachen.

Überblick

Die 📦Aspire.AppHost.Sdk ist ein additives MSBuild-Projekt-SDK zum Erstellen .NET.NET Aspire Apps. Die Aspire.AppHost.Sdk wird mit einem Project/Sdkder obersten Ebene definiert:

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

Im vorherigen Beispielprojekt wird das SDK der obersten Ebene als Microsoft.NET.Sdk und die Aspire.AppHost.Sdk als additives SDK definiert. Die IsAspireHost-Eigenschaft ist auf true festgelegt, um anzugeben, dass es sich bei diesem Projekt um einen .NET-.NET Aspire-App-Host handelt. Das Projekt verweist auch auf das Aspire.Hosting.AppHost-Paket, das eine Reihe von Aspire-bezogenen Abhängigkeiten enthält.

SDK-Eigenschaften

Das .NET.NET Aspire SDK bietet mehrere wichtige Features.

Projektverweise

Jede ProjectReference im .NET.NET Aspire App-Host Projekt wird nicht als Standardprojektverweise behandelt. Stattdessen ermöglichen sie dem -App-Host, diese Projekte als Teil seiner Orchestrierung auszuführen. Jeder Projektverweis löst einen Generator aus, um eine class zu erstellen, die das Projekt als IProjectMetadatadarstellt. Diese Metadaten werden verwendet, um die benannten Projekte im generierten Projects Namespace aufzufüllen. Wenn Sie die Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject-API aufrufen, wird der Projects-Namensraum verwendet, um auf das Projekt zu verweisen, wobei die generierte Klasse als generischer Typ-Parameter übergeben wird.

Tipp

Wenn Sie auf ein Projekt auf die traditionelle Weise innerhalb des App-Hosts verweisen müssen, legen Sie das Attribut IsAspireProjectResource des Elements ProjectReference auf falsefest, wie im folgenden Beispiel gezeigt:

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

Orchestratorabhängigkeiten

Das .NET.NET Aspire SDK fügt dynamisch Verweise auf das .NET.NET Aspire Dashboard und andere App-Hostabhängigkeiten hinzu, z. B. die DCP-Pakete (Developer Control Plane). Diese Abhängigkeiten sind spezifisch für die Plattform, auf der der App-Host basiert.

Wenn das App-Host-Projekt ausgeführt wird, stützt sich der Orchestrator auf diese Abhängigkeiten, um die notwendige Funktionalität für den App-Host bereitzustellen. Weitere Informationen finden Sie unter .NET.NET Aspire Orchestrierungsübersicht.