Freigeben über


Aspire SDK

Das Aspire SDK ist für *.AppHost-Projekte vorgesehen, die als Aspire Orchestrator dienen. Diese Projekte werden durch die Verwendung des Aspire.AppHost.Sdk im Projektdatei festgelegt. Das SDK bietet eine Reihe von Features, die die Entwicklung von Aspire Apps vereinfachen.

Überblick

Die .📦Aspire AppHost.Sdk ist ein additives MSBuild-Projekt-SDK zum Erstellen von 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.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>

Im vorherigen Beispielprojekt wird das SDK der obersten Ebene als Microsoft.NET.Sdk und die Aspire.AppHost.Sdk als additives SDK definiert. Das Projekt verweist auch auf das Aspire.Hosting.AppHost-Paket, das eine Reihe von Aspire-bezogenen Abhängigkeiten enthält.

SDK-Eigenschaften

Das Aspire SDK bietet mehrere wichtige Features.

Projektverweise

Jedes ProjectReference im Aspire AppHost-Projekt wird nicht als Standardprojektverweis behandelt. Stattdessen ermöglichen sie dem AppHost , diese Projekte als Teil der 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 innerhalb von AppHost auf herkömmliche Weise auf ein Projekt verweisen müssen, legen Sie das IsAspireProjectResource-Attribut des ProjectReference-Elements auf false fest, wie im folgenden Beispiel gezeigt:

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

Andernfalls wird die ProjectReference Ressource standardmäßig als Aspire Projektressource behandelt.

Orchestratorabhängigkeiten

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

Wenn das AppHost-Projekt ausgeführt wird, verlässt sich der Orchestrator auf diese Abhängigkeiten, um die erforderlichen Funktionen für den AppHost bereitzustellen. Weitere Informationen finden Sie in Aspire der Übersicht über die Orchestrierung.