다음을 통해 공유


.NET .NET Aspire Rust 호스팅

포함:호스팅 통합 포함 호스팅 통합만 포함 - Client 통합이 포함되지 않음Client 통합이 포함되지 않음

메모

이 통합은 .NET.NET Aspire 커뮤니티 도구 키트 일부이며 지원하지 않습니다.

Rust 는 성능, 형식 안전성 및 동시성을 강조하는 범용 프로그래밍 언어입니다. 메모리 안전성을 적용합니다. 즉, 모든 참조가 유효한 메모리를 가리킵니다. .NET Aspire Rust 호스팅 통합을 사용하면 AppHost 프로젝트에서 Rust 애플리케이션을 .NET Aspire 호스트하고 애플리케이션의 다른 리소스에 제공할 수 있습니다.

호스팅 통합

Rust 호스팅 통합은 Rust 애플리케이션을 Aspire.Hosting.ApplicationModel.RustAppExecutableResource 형식으로 모델링합니다. AppHost 프로젝트에 추가할 수 있는 이 형식 및 API에 액세스하려면 CommunityToolkit를Aspire 설치📦합니다. AppHost 프로젝트의 Hosting.Rust NuGet 패키지입니다.

이 통합에서는 Rust 프로그래밍 언어가 호스트 컴퓨터에 이미 설치되어 있고 Rust 패키지 관리자 cargo 를 시스템 경로에서 사용할 수 있어야 합니다.

dotnet add package CommunityToolkit.Aspire.Hosting.Rust

자세한 내용은 dotnet add package 또는 .NET 응용 프로그램의 패키지 종속성 관리를 참조하세요.

Rust 리소스 추가

Program.cs AppHost 프로젝트의 파일에서 다음 예제와 같이 인스턴스를 builder 호출 Aspire.Hosting.RustAppHostingExtension.AddRustApp 하여 Rust 애플리케이션 리소스를 추가합니다.

var builder = DistributedApplication.CreateBuilder(args);

var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service")
                 .WithHttpEndpoint(env: "PORT");

var exampleProject = builder.AddProject<Projects.ExampleProject>()
                            .WithReference(rust);

// After adding all resources, run the app...

애플리케이션의 작업 디렉터리가 Rust 애플리케이션 디렉터리의 루트여야 합니다. 또한 메서드에 args 매개 변수를 전달하여 실행 동작을 AddRustApp 사용자 지정할 수 있습니다.

var rust = builder.AddRustApp("rust-app", workingDirectory: "../rust-service", args: ["--locked"])
                 .WithHttpEndpoint(env: "PORT");

Rust 애플리케이션은 AppHost 프로젝트의 다른 리소스에 대한 참조로 추가할 수 있습니다.

참고 항목