다음을 통해 공유


.NET .NET Aspire Rust 호스팅

포함:호스팅 통합아님Client

메모

이 통합은 .NET.NET Aspire 커뮤니티 도구 키트 일부이며 .NET.NET Aspire 팀에서 공식적으로 지원하지 않습니다.

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

호스팅 통합

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

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

dotnet add package CommunityToolkit.Aspire.Hosting.Rust

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

Rust 리소스 추가

앱 호스트 프로젝트의 Program.cs 파일에서 다음 예제와 같이 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 애플리케이션은 앱 호스트 프로젝트의 다른 리소스에 대한 참조로 추가할 수 있습니다.

참고 항목