Поделиться через


пакет SDK .NET.NET Aspire

The .NET.NET Aspire SDK is intended for *.AppHost projects, which serve as the .NET.NET Aspire orchestrator. These projects are designated by their usage of the Aspire.AppHost.Sdk in the project file. Пакет SDK предоставляет набор функций, упрощающих разработку приложений .NET.NET Aspire.

Обзор

📦 Aspire.AppHost.Sdk — это дополнительный SDK MSBuild проекта для создания приложений .NET Aspire. The Aspire.AppHost.Sdk is defined with a top-level Project/Sdk:

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

Предыдущий пример проекта определяет пакет SDK верхнего уровня как Microsoft.NET.Sdk и Aspire.AppHost.Sdk в качестве аддитивного пакета SDK. Проект также ссылается на пакет Aspire.Hosting.AppHost, который содержит ряд зависимостей, связанных с Aspire.

Функции пакета SDK

Пакет SDK .NET.NET Aspire предоставляет несколько ключевых функций.

Ссылки на проекты

Each ProjectReference in the .NET.NET Aspire app host project isn't treated as standard project references. Instead, they enable the app host to execute these projects as part of its orchestration. Each project reference triggers a generator to create a class that represents the project as an IProjectMetadata. Эти метаданные используются для распределения именованных проектов в сгенерированном пространстве имен Projects. При вызове API Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject пространство имен Projects используется для ссылки на проект — передачу созданного класса в качестве параметра универсального типа.

Tip

If you need to reference a project in the traditional way within the app host, set the IsAspireProjectResource attribute on the ProjectReference element to false, as shown in the following example:

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

Otherwise, by default, the ProjectReference is treated as .NET.NET Aspire project resource.

Зависимости оркестратора

Пакет SDK .NET.NET Aspire динамически добавляет ссылки на .NET.NET Aspire панель управления и другие зависимости хоста приложения, например пакеты уровня управления разработчика (DCP). Эти зависимости специфичны для платформы, на которой построен хост приложения.

При запуске проекта хоста приложения оркестратор использует эти зависимости, чтобы обеспечить хосту приложения необходимую функциональность. Для получения дополнительной информации см. обзор управления процессами .NET.NET Aspire.