Compartir a través de


SDK de .NET.NET Aspire

El SDK de .NET.NET Aspire está diseñado para proyectos *.AppHost, que sirven como el orquestador de .NET.NET Aspire. Estos proyectos se designan mediante la propiedad <IsAspireHost>true</IsAspireHost>, así como la especificación del Aspire.AppHost.Sdk en el archivo del proyecto. El SDK proporciona un conjunto de características que simplifican el desarrollo de aplicaciones .NET.NET Aspire.

Visión general

El 📦Aspire.AppHost.Sdk es un SDK de proyecto de MSBuild complementario para compilar aplicaciones .NET.NET Aspire. El Aspire.AppHost.Sdk se define con un Project/Sdkde nivel 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>

El proyecto de ejemplo anterior define el SDK de nivel superior como Microsoft.NET.Sdk y el Aspire.AppHost.Sdk como un SDK aditivo. La propiedad IsAspireHost se establece en true para indicar que este proyecto es un host de aplicación .NET.NET Aspire. El proyecto también hace referencia al paquete Aspire.Hosting.AppHost, que aporta una serie de dependencias relacionadas a Aspire.

Características del SDK

El SDK de .NET.NET Aspire proporciona varias características clave.

Referencias de proyecto

Cada ProjectReference en el proyecto de host de aplicación .NET.NET Aspire no se trata como referencias estándar de proyectos. En su lugar, permiten que el host de la aplicación ejecute estos proyectos como parte de su orquestación. Cada referencia de proyecto desencadena un generador para crear un class que represente el proyecto como un IProjectMetadata. Estos metadatos se usan para rellenar los proyectos con nombre en el espacio de nombres Projects generado. Cuando se llama a la API de Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject, el espacio de nombres Projects se usa para hacer referencia al proyecto, pasando la clase generada como un parámetro de tipo genérico.

Propina

Si necesita hacer referencia a un proyecto de forma transdicional dentro del host de la aplicación, establezca el atributo IsAspireProjectResource en el elemento ProjectReference en false, como se muestra en el ejemplo siguiente:

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

Dependencias del Orquestador

El SDK de .NET.NET Aspire agrega dinámicamente referencias al panel de control .NET.NET Aspire, y otras dependencias del host de la aplicación, como los paquetes del plano de control del desarrollador (DCP). Estas dependencias son específicas de la plataforma en la que se basa el host de la aplicación.

Cuando se ejecuta el proyecto host de la aplicación, el orquestador se basa en estas dependencias para proporcionar la funcionalidad necesaria al host de la aplicación. Para obtener más información, consulte .NET.NET Aspire visión general de la orquestación.