.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/Sdk
der 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 false
fest, 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.