Condividi tramite


.NET .NET Aspire SDK

L'SDK di .NET.NET Aspire è destinato ai progetti *.AppHost, che fungono da orchestratore .NET.NET Aspire. Questi progetti sono designati in base all'utilizzo Aspire.AppHost.Sdk di nel file di progetto. L'SDK offre un set di funzionalità che semplificano lo sviluppo di app .NET.NET Aspire.

Panoramica

L'📦Aspire.AppHost.Sdk è un SDK di progetto MSBuild per la creazione di app .NET.NET Aspire. Il Aspire.AppHost.Sdk viene definito con un Project/Sdkdi primo livello:

<Project Sdk="Microsoft.NET.Sdk">

    <Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
    
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net9.0</TargetFramework>
        <!-- Omitted for brevity -->
    </PropertyGroup>
    
    <ItemGroup>
        <PackageReference Include="Aspire.Hosting.AppHost" Version="9.1.0" />
    </ItemGroup>

    <!-- Omitted for brevity -->
</Project>

Il progetto di esempio precedente definisce l'SDK di primo livello come Microsoft.NET.Sdk e il Aspire.AppHost.Sdk come SDK aggiuntivo. Il progetto fa anche riferimento al pacchetto Aspire.Hosting.AppHost, che introduce una serie di dipendenze correlate a Aspire.

Funzionalità dell'SDK

L'SDK di .NET.NET Aspire offre diverse funzionalità chiave.

Riferimenti al progetto

Ogni ProjectReference nell'host dell'app nel progetto .NET.NET Aspire non viene considerato come riferimenti standard di progetto. Consentono invece all'host dell'app di eseguire questi progetti come parte della sua orchestrazione. Ogni riferimento al progetto attiva un generatore per creare un class che rappresenta il progetto come un IProjectMetadata. Questi metadati vengono usati per popolare i progetti denominati nello spazio dei nomi Projects generato. Quando si chiama l'API Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject, lo spazio dei nomi Projects viene usato per fare riferimento al progetto, passando la classe generata come parametro di tipo generico.

Consiglio

Se è necessario fare riferimento a un progetto nel modo tradizionale all'interno dell'host dell'app, impostare l'attributo IsAspireProjectResource sull'elemento ProjectReference su false, come illustrato nell'esempio seguente:

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

In caso contrario, per impostazione predefinita, l'oggetto ProjectReference viene considerato come .NET.NET Aspire risorsa di progetto.

Dipendenze di Orchestrator

L'SDK di .NET.NET Aspire aggiunge dinamicamente riferimenti al dashboard.NET.NET Aspire e ad altre dipendenze ospitate dall'app, come i pacchetti del piano di controllo dello sviluppatore (DCP). Queste dipendenze sono specifiche della piattaforma su cui si basa l'host dell'app.

Quando viene eseguito il progetto host dell'app, l'agente di orchestrazione si basa su queste dipendenze per fornire le funzionalità necessarie all'host dell'app. Per altre informazioni, vedere panoramica dell'orchestrazione .NET.NET Aspire.