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


пакет SDK .NET.NET Aspire

Пакет SDK .NET.NET Aspire предназначен для проектов *.AppHost, которые служат оркестратором .NET.NET Aspire. Эти проекты назначаются с помощью свойства <IsAspireHost>true</IsAspireHost>, а также указания Aspire.AppHost.Sdk в файле проекта. Пакет SDK предоставляет набор функций, упрощающих разработку приложений .NET.NET Aspire.

Обзор

📦 Aspire. AppHost.Sdk — это аддитивная пакет SDK проекта MSBuild для создания приложений .NET.NET Aspire. Aspire.AppHost.Sdk определяется как элемент верхнего уровня Project/Sdk:

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

    <Sdk Name="Aspire.AppHost.Sdk" Version="9.1.0" />
    
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net9.0</TargetFramework>
        <IsAspireHost>true</IsAspireHost>
        <!-- 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. Свойство IsAspireHost устанавливается в true, чтобы указать, что этот проект является хостом приложения, таким как .NET.NET Aspire. Проект также ссылается на пакет Aspire.Hosting.AppHost, который содержит ряд зависимостей, связанных с Aspire.

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

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

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

Каждый ProjectReference в проекте узла приложения .NET.NET Aspire рассматривается не как стандартная ссылка на проект. Вместо этого они позволяют узлу приложений выполнять эти проекты в рамках оркестрации. Каждая ссылка на проект активирует генератор для создания class, представляющего проект как IProjectMetadata. Эти метаданные используются для распределения именованных проектов в сгенерированном пространстве имен Projects. При вызове API Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject пространство имен Projects используется для ссылки на проект — передачу созданного класса в качестве параметра универсального типа.

Кончик

Если необходимо ссылаться на проект традиционным образом в узле приложения, задайте атрибут IsAspireProjectResource элемента ProjectReference значением false, как показано в следующем примере:

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

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

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

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