다음을 통해 공유


.NET .NET Aspire SDK

.NET .NET Aspire SDK는 *.AppHost 프로젝트를 위해 의도된 것입니다. 이는 .NET.NET Aspire 오케스트레이터로서의 역할을 합니다. 이러한 프로젝트는 프로젝트 파일에서 Aspire.AppHost.Sdk을 지정하는 것 외에도 <IsAspireHost>true</IsAspireHost> 속성을 사용하여 지정됩니다. SDK는 .NET.NET Aspire 앱 개발을 간소화하는 기능 집합을 제공합니다.

개요

📦 Aspire.AppHost.SdkMSBuild 프로젝트 SDK로, .NET.NET Aspire 앱을 빌드하기 위한 추가적 기능을 제공합니다. Aspire.AppHost.Sdk는 최상위 Project/Sdk에 의해 정의됩니다.

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

앞의 예제 프로젝트는 최상위 SDK를 Microsoft.NET.Sdk 정의하고 Aspire.AppHost.Sdk 추가 SDK로 정의합니다. IsAspireHost 속성은 이 프로젝트가 .NET.NET Aspire 앱 호스트임을 나타내기 위해 true로 설정됩니다. 또한 이 프로젝트는 여러 Aspire관련 종속성을 가져오는 Aspire.Hosting.AppHost 패키지를 참조합니다.

SDK 기능

.NET .NET Aspire SDK는 몇 가지 주요 기능을 제공합니다.

프로젝트 참조

.NET .NET Aspire 앱 호스트 프로젝트의 각 ProjectReference 표준 프로젝트 참조로 처리되지 않습니다. 대신, 앱 호스트이 이러한 프로젝트를 오케스트레이션의 일환으로 실행할 수 있도록 합니다. 각 프로젝트 참조는 생성기를 작동시켜 프로젝트를 IProjectMetadata로 나타내는 class를 만듭니다. 이 메타데이터는 생성된 Projects 네임스페이스에서 명명된 프로젝트를 채우는 데 사용됩니다. Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject API를 호출할 때 Projects 네임스페이스는 생성된 클래스를 제네릭 형식 매개 변수로 전달하는 프로젝트를 참조하는 데 사용됩니다.

앱 호스트 내에서 전통적인 방식으로 프로젝트를 참조해야 하는 경우, 다음 예제와 같이 ProjectReference 요소의 IsAspireProjectResource 특성을 false로 설정하세요.

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

오케스트레이터 종속성

.NET .NET Aspire SDK는 .NET.NET Aspire 대시보드 및 DCP(개발자 컨트롤 플레인) 패키지와 같은 다른 앱 호스트 종속성에 대한 참조를 동적으로 추가합니다. 이러한 종속성은 앱 호스트가 빌드되는 플랫폼과 관련이 있습니다.

앱 호스트 프로젝트가 실행되면 오케스트레이터는 이러한 종속성을 사용하여 앱 호스트에 필요한 기능을 제공합니다. 자세한 내용은 .NET.NET Aspire 오케스트레이션 개요참조하세요.