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 vengono designati usando la proprietà <IsAspireHost>true</IsAspireHost> e specificando il Aspire.AppHost.Sdk nel file di progetto. L'SDK offre un set di funzionalità che semplificano lo sviluppo di app .NET.NET Aspire.

Panoramica

Oggetto . AppHost.Sdk è un DI PROGETTO MSBuild per la compilazione di app . Il Aspire.AppHost.Sdk viene definito con un Project/Sdkdi primo livello:

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

Il progetto di esempio precedente definisce l'SDK di primo livello come Microsoft.NET.Sdk e il Aspire.AppHost.Sdk come SDK aggiuntivo. La proprietà IsAspireHost è impostata su true per indicare che questo progetto è un host dell'app .NET.NET Aspire. 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.

Mancia

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

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

Dipendenze di Orchestrator

L'SDK di .NET.NET Aspire aggiunge dinamicamente i riferimenti al dashboard .NET.NET Aspire e ad altre dipendenze dell'host dell'app, ad esempio i pacchetti DCP (Developer Control Plane). 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.