Compartilhar via


SDK do .NET.NET Aspire

O SDK de .NET.NET Aspire destina-se a *.AppHost projetosque servem como o orquestrador .NET.NET Aspire. Esses projetos são designados usando a propriedade <IsAspireHost>true</IsAspireHost>, além de especificar o Aspire.AppHost.Sdk no arquivo de projeto. O SDK fornece um conjunto de recursos que simplificam o desenvolvimento de aplicativos .NET.NET Aspire.

Visão geral

O . AppHost.Sdk é um do SDK do projeto MSBuild para criar aplicativos . O Aspire.AppHost.Sdk é definido com um Project/Sdkde nível superior:

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

O projeto de exemplo anterior define o SDK de nível superior como Microsoft.NET.Sdk e o Aspire.AppHost.Sdk como um SDK aditivo. A propriedade IsAspireHost está definida como true para indicar que esse projeto é um host de aplicativo .NET.NET Aspire. O projeto também faz referência ao pacote Aspire.Hosting.AppHost, que incorpora várias dependências relacionadas a Aspire.

Recursos do SDK

O SDK do .NET.NET Aspire fornece vários recursos importantes.

Referências de projeto

Cada ProjectReference no aplicativo de host do projeto .NET.NET Aspire não é tratado como uma referência de projeto padrão. Em vez disso, eles permitem que o host do aplicativo execute esses projetos como parte de sua orquestração. Cada referência de projeto dispara um gerador para criar um class que representa o projeto como um IProjectMetadata. Esses metadados são usados para preencher os projetos nomeados no namespace de Projects gerado. Quando você chama a API Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject, o namespace Projects é usado para referenciar o projeto, passando a classe gerada como um parâmetro de tipo genérico.

Dica

Se você precisar referenciar um projeto da maneira transdicional dentro do host do aplicativo, defina o atributo IsAspireProjectResource no elemento ProjectReference para false, conforme mostrado no exemplo a seguir:

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

Dependências do orquestrador

O SDK do .NET.NET Aspire adiciona dinamicamente referências ao painel de controle .NET.NET Aspire e a outras dependências do host do aplicativo, como os pacotes do plano de controle do desenvolvedor (DCP). Essas dependências são específicas para a plataforma na qual o host do aplicativo é criado.

Quando o projeto de host do aplicativo é executado, o orquestrador depende dessas dependências para fornecer a funcionalidade necessária ao host do aplicativo. Para obter mais informações, consulte .NET.NET Aspire visão geral da orquestração.