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/Sdk
de 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.